Yii乘以updateAll / updateCounters进行乘法/除法

时间:2014-06-18 17:41:32

标签: php activerecord yii

他在那里!

我想知道Yii框架中是否有一个函数允许您对数据库中的所有行进行乘法或除法。我知道有updateAll函数,允许你更改值和updateCounters,允许你像这样添加/减去一个数字:

    Items::model()->updateAll(array( 'tokens' => 5 ), '' );
    Items::model()->updateCounters(array('tokens' => -5,), '');

但我想做的是将该值乘以1.5。我尝试了不同的东西,但不幸的是我似乎无法让它发挥作用..

    Items::model()->updateCounters(array('tokens' => * 1.5,), '');
    Items::model()->updateAll(array( 'tokens' => 'tokens*1.5' ), '' );

如果有人可以帮我找到解决方案,那会很棒。

1 个答案:

答案 0 :(得分:1)

尝试将表达式包装在CDbExpression

Items::model()->updateAll(array( 'tokens' => new CDbExpression('tokens*1.5')));