我有一个包含这两个真正的字段的表current和origin.
current价值定期更新.我想写一个重置脚本:对于每一行,我想把origin值放在current值中.
在MySQL中,可以使用此查询:
update MyTable set current = origin
Run Code Online (Sandbox Code Playgroud)
我尝试使用查询生成器在Yii2中编写此代码:
return $this->updateAll(['current' => 'origin']);
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,因为它origin被解释为字符串并且所有行都使用值更新0.
那么我如何使用另一个字段的值更新字段值updateAll()?
aro*_*hev 12
裹origin在警予\ DB \表达像这样:
use yii\db\Expression;
...
return $this->updateAll(['current' => new Expression('origin')]);
Run Code Online (Sandbox Code Playgroud)
结果将如预期的那样.