2つの異なるテーブルから情報を追加するための2つのモデルを送信するフォームがあります。CakePHP 3を使用してマルチモデルフォームのデフォルトフィールドを設定する方法は?
プレイスとイベント。イベントがデータベースにない1つの場所にある場合は、追加する場所情報をユーザーに割り当てます。これは私のイベントの追加にはうまくいきます。
イベントの編集版を作成したいが、データがデフォルトで埋められていない。私はこのようなものを持っている私のEventsControllerで
<?php
echo $this->Form->create($event);
echo $this->Form->input('Place.address');
echo $this->Form->input('Place.lat');
echo $this->Form->input('Place.lon');
echo $this->Form->input('Event.place_id');
echo $this->Form->button(__('Validar'));
echo $this->Form->end();
?>
:
$place = $this->Places->newEntity();
$event = $this->Events->newEntity();
if ($this->request->is('post')) {
$place = $this->Places->patchEntity($place, $this->request->data['Place']);
$event = $this->Events->patchEntity($event, $this->request->data['Event']);
$this->set('place', $place);
$this->set('event', $event);
通常は一つのモデルで、フィールドはデータベースで満たされ、すべてのデフォルトを持っているよう
私のフォームがあります。
2つのモデルでデフォルトを作成するにはどうすればよいですか?
フィールドごとにデフォルト=> $ place-> place_idオプションを避けたいと思います。
ありがとうございました
私のクライアントは、あるイベントが同じフォームで場所を変更した場合、新しい場所を作成したいと考えています。私は2つの形式にすることを提案しますが、使用することを主張します。テーブルには関連があります。 'default' => $ event-> place_idを使うと、私は必要なものを手に入れることができますが、すべてのフィールドのすべてのデフォルトをきれいにすることはできません。私はアイデアを受け入れる。将来的には、カテゴリを1つの形式でも追加する必要があるでしょう –