Модель не будет обновляться - PullRequest
0 голосов
/ 28 марта 2009

Использование 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 Ответ

1 голос
/ 28 марта 2009

Прежде всего, уберите строки 11 и 12. они не имеют смысла. убедитесь, что ваше представление содержит элементы формы для Customer.id и Address.id. Если вы просто обновляете адрес, вам также не нужна строка 13. Короткий ответ: Cakephp вставит строку вместо обновления, если первичный ключ отсутствует. В вашем случае это означает [Адрес] [идентификатор].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...