在迁移中,我想添加一个默认为列ID的订单列.我尝试了以下方法:
$this->update(
'item', // table
array( // columns
'item_order'=>':item_id'
),
'', // condition
array( // parameters
':item_id'=>'item_id'
)
);
Run Code Online (Sandbox Code Playgroud)
但这只是给出了ID 0的所有内容.(我并不感到惊讶,因为我猜它正在尝试使用字符串而不是列名).
如何在不手动构建SQL的情况下完成任务?
将列名称换行CDbExpression,指示Yii将其包含在未转义的结果查询中:
$this->update('item', array('item_order'=> new CDbExpression('item_id')));
Run Code Online (Sandbox Code Playgroud)