我是 Yii 框架的初学者。我遇到了需要这样做的情况
我在数据库中有一个列rgt
,我想在某些情况下将其增加 2。
我写过这些
Category::model()->updateAll( array("rgt"=>"rgt+2"),array("condition"=>"rgt >".$this->myRight));
这是行不通的。我不确定我写的是否正确。请帮我
提前致谢
您不能将 DB 表达式传递rgt+2
给updateAll()
. 它将尝试将其设置为列值并且可能会失败,因为该列的类型是INT
。但你可以updateCounters()
改用:
Category::model()->updateCounters(array(
'rgt' => 2,
), 'rgt > '.$this->myRight);