2014-06-18 33 views
1

他在那里!Yii乘以/除以updateAll/updateCounters

我想知道在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'), ''); 

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

+0

包裹表达你想乘这已经在数据库中的价值? – jagsler

+0

他杰克斯勒,是的! – Shark

回答

1

尝试在CDbExpression

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

这正是我所寻找的,非常感谢威廉! – Shark