我是Yii框架的初学者。我遇到了这样的情况
我在数据库中有一个列rgt
,我想在某些情况下将其增加2。
我是这样写的Category::model()->updateAll( array("rgt"=>"rgt+2"),array("condition"=>"rgt >".$this->myRight));
这不管用。我不确定我写的是对的。请帮帮我
提前谢谢
最佳答案
不能将rgt+2
这样的DB表达式传递给updateAll()
。它将尝试将此设置为列值,但可能会失败,因为该列属于INT
类型。但你可以用updateCounters()
代替:
Category::model()->updateCounters(array(
'rgt' => 2,
), 'rgt > '.$this->myRight);
关于php - 使用Yii中的updateAll方法将字段值更新一些,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17680665/