savefield () создал новую строку или запись вместо обновления конкретной записи - PullRequest
0 голосов
/ 07 августа 2010

Я использую cakePHP 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 Ответ

2 голосов
/ 08 августа 2010

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

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

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

$this->Test->User->id = $who;
...