Модель не будет обновляться
Использование cakephp: я пытаюсь обновить информацию о клиенте и адрес, с которым связан клиент. такой, что Customer.address_id = Address.id, и
Модель клиента
$belongsTo = 'Address';
От клиентов_контроллер
function profile($id = null)
{
if (empty($this->data['Customer']))
{
$this->Customer->id = $id;
$this->data = $this->Customer->read();
}
else
{
$this->Customer->id = $this->data['Customer']['id'];
$this->Customer->read();
$this->Customer->save($this->data['Customer']);
$this->Customer->Address->save($this->data['Address']);
}
}
Клиент корректно обновляется, но Address всегда вставляет новую строку. Как мне получить этот адрес для обновления?
1 ответ
Решение
Прежде всего уберите строки 11 и 12. они не имеют смысла. убедитесь, что ваше представление содержит элементы формы для Customer.id и Address.id. Если вы просто обновляете адрес, вам также не нужна строка 13. Короткий ответ: Cakephp вставит строку вместо обновления, если первичный ключ отсутствует. В вашем случае это означает [Адрес][идентификатор].