1

我是 Yii 框架的初学者。我遇到了需要这样做的情况

我在数据库中有一个列rgt,我想在某些情况下将其增加 2。

我写过这些

Category::model()->updateAll( array("rgt"=>"rgt+2"),array("condition"=>"rgt >".$this->myRight));

这是行不通的。我不确定我写的是否正确。请帮我

提前致谢

4

1 回答 1

2

您不能将 DB 表达式传递rgt+2updateAll(). 它将尝试将其设置为列值并且可能会失败,因为该列的类型是INT。但你可以updateCounters()改用:

Category::model()->updateCounters(array(
    'rgt' => 2,
), 'rgt > '.$this->myRight);
于 2013-07-17T06:54:07.020 回答