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

Cakephp 更新数据库中的记录时出现问题,cakephp,cakephp-1.3,cakephp-model,validation,Cakephp,Cakephp 1.3,Cakephp Model,Validation,我在cakephp中更新用户数据时遇到问题 当我提交表单时,我在$this->data中有这些数据: Array ( [User] => Array ( [first_name] => Dusan [last_name] => Stojanovic [native_language_id] => 25 ) ) 但是,当我尝试用以下内容更新它时: $this-&

我在cakephp中更新用户数据时遇到问题

当我提交表单时,我在$this->data中有这些数据:

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 array中存在的字段?

到您应该将上的验证规则“
选项设置为
仅创建
,和/或将
要求
设置为

对于快速修复,请提供一组要保存的字段:

$this->User->save($this->data, true, array('first_name', 'last_name', 'native_language_id'));
您可以这样做:

$this->data['User']['id'] = $id

由于['id']cakephp将数组识别为数据,将更新数据集,而不会创建新的数据集。

谢谢,这就是我需要的。实际上,我需要从验证中删除required并设置为allowEmpty。