cakephp updateAll无法正常工作

时间:2010-12-20 10:55:30

标签: cakephp

我有以下代码:

$this->Permissions->updateAll(
    array('Permissions.user' => $newuser), 
    array('Permissions.user' => $originaluser)
);

但是当我运行它时,我收到以下错误:

Warning (512): SQL Error: 1054: Unknown column 'counterstaff' in 'field list' [APP\cake\cake\libs\model\datasources\dbo_source.php, line 681]

Query: UPDATE `permissions` AS `Permissions` SET `Permissions`.`user` = counterstaff WHERE `Permissions`.`user` = 'counter' 

由于某种原因,它认为我想要设置的值是一列。任何人都有任何想法为什么会发生这种情况?

3 个答案:

答案 0 :(得分:14)

修正了它!我必须在变量周围添加单引号,如下所示:

$this->Permissions->updateAll(
    array('Permissions.user' => "'".$newuser."'"), 
    array('Permissions.user' => $originaluser)
);

答案 1 :(得分:4)

**Use this code for updating your data:** 
$this->Permissions->updateAll(
        array('Permissions.user' => "'$newuser'"), 
        array('Permissions.user' => "'$originaluser'")
    );

答案 2 :(得分:-2)

更新查询的问题是将值放在引号中,如

    UPDATE `permissions` AS `Permissions` SET
 `Permissions`.`user` = "counterstaff" WHERE 
`Permissions`.`user` = 'counter'