Я обновляю свою модель розничного продавца, которая принадлежит к модели адреса, когда я создаю новую запись, она легко создает новую строку для адреса и вставляет свой ключ в модель розничного продавца:
Вид:
echo $this->Form->create('Retailer');
echo $this->Form->input('Name');
echo $this->Form->input('Address.add_line1');
echo $this->Form->input('Address.add_line2');
echo $this->Form->end('Submit');
Модель (продавец):
public $belongsTo = 'Address';
RetailersController->добавить()
$this->Retailer->create();
$this->Retailer->saveAll($this->request->data);
Однако, когда я попытался обновить Retailer, модель Retailer обновилась, но вместо обновления предыдущей записи адреса она создала новую запись и поместила свой ключ в таблицу Retailer:
RetailersController->edit($id = null)
$this->Retailer->id = $id;
$this->Retailer->saveAll($this->request->data);
Я также пробовал это, но не работал:
RetailersController->edit($id = null)
$post = $this->Retailer->findById($id);
$this->Retailer->id = $id;
$this->request->data['Retailer']['address_id'] = $post['Retailer']['address_id'];
$this->Retailer->saveAll($this->request->data);