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

时间:2011-06-07 08:19:20

标签: cakephp cakephp-1.3 cakephp-appmodel validation

我在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->数据数组中不存在的字段(如无效密码,电子邮件等)。我如何解决这个问题,以便我只能更新$ this->数据数组中的字段?

2 个答案:

答案 0 :(得分:1)

properly do this,您应该将验证规则“on选项设置为仅create和/或将require设置为false

对于quickfix,请提供要保存的$fieldlist个字段:

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

答案 1 :(得分:0)

你可以这样做:

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

因为['id'],cakephp将数组识别为将更新数据集并且不会创建新数据集的数据。