更新数据库中的记录时出现问题

问题描述:

我有更新cakephp中用户数据的问题。更新数据库中的记录时出现问题

当我提交表单我在这 - $此数据>数据:

Array 
(
    [User] => Array 
     (
      [first_name] => Dusan 
      [last_name] => Stojanovic 
      [native_language_id] => 25 
     ) 
) 

但是,当我尝试更新它:

$this->User->id = $id; 
$this->User->save($this->data) 

模式没有被保存,因为验证。他们尝试验证$ this-> data数组中不存在的字段(如无效密码,电子邮件等)。我如何解决这个问题,以便我只更新$ this-> data数组中的字段?

properly do this您应该验证规则on选项设置为create只和/或设置requirefalse

对于和quickfix,供应领域的$fieldlist要保存:

$this->User->save($this->data, true, array('first_name', 'last_name', 'native_language_id')); 
+0

谢谢,这是我需要的。实际上,我需要从验证中移除所需内容并将其设置为allowEmpty。 – Dusan 2011-06-07 08:35:59

,你可以这样做:

$this->data['User']['id'] = $id 
因为[ '身份证']的CakePHP的

识别数组将更新数据集并且不会创建新数据集的数据。