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