savefield() создал новую строку или запись вместо обновления конкретной записи

Я использую торт PHP 1.26.
Я получил несколько примеров данных в таблице, в которой есть два поля: {user_id, avatar}
Я пытался обновить старую запись в базе данных:

 $who=$this->Session->read('user.user_id'); // 12 was retrieved in this case
 $c = "http://www.abc.com/myimage.gif";
 $this->Test->User->user_id = $who;
 $result = $this->Test->User->saveField('avatar',$c);
  if( $result==true){return "ok";}

Когда я проверил базу данных, я увидел, что вместо этого была создана новая запись, но старая запись с user_id 12 вообще не обновлялась

Пожалуйста помоги.

1 ответ

Решение

Проблема здесь:

$this->Test->User->user_id = $who;

Предполагая, что у вас есть обычное соглашение CakePHP DB это должно быть:

$this->Test->User->id = $who;
Другие вопросы по тегам