我是Yii框架的初学者。我有一个我需要这样做的情况
我在数据库中有一个列rgt
,我想在某些条件下将其递增2。
我写得像这样
Category::model()->updateAll( array("rgt"=>"rgt+2"),array("condition"=>"rgt >".$this->myRight));
这不起作用。我不确定我写的是对的。请帮帮我
提前致谢
答案 0 :(得分:2)
您无法将rgt+2
等数据库表达式传递给updateAll()
。它会尝试将其设置为列值,并且可能会失败,因为列的类型为INT
。但您可以改为使用updateCounters()
:
Category::model()->updateCounters(array(
'rgt' => 2,
), 'rgt > '.$this->myRight);