savefield()创建了一个新行或记录,而不是更新特定记录

时间:2010-08-07 17:28:02

标签: cakephp cakephp-1.2

我正在使用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 个答案:

答案 0 :(得分:2)

问题在于:

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

假设你有正常的CakePHP数据库约定,它应该是:

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