【问题标题】:Yii multiply / divide with updateAll / updateCountersYii 用 updateAll / updateCounters 乘/除
【发布时间】:2014-06-18 17:41:31
【问题描述】:

他在那儿!

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

如果有人可以帮助我找到解决方案,那就太好了。

【问题讨论】:

  • 是否要乘以数据库中已有的值?
  • 他 Jagsler,没错!

标签: php activerecord yii


【解决方案1】:

尝试将表达式包装在CDbExpression

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多