Yii迁移更新

时间:2011-03-25 17:36:18

标签: php migration yii

在迁移中,我想添加一个默认为列ID的订单列。我尝试了以下方法:

$this->update(
 'item',  // table
  array(  // columns
    'item_order'=>':item_id'
  ), 
  '',     // condition
  array(  // parameters
    ':item_id'=>'item_id'
  )
);

但这只是给出了ID 0的所有内容。(我并不感到惊讶,因为我猜它正在尝试使用字符串而不是列名)。

无需手动构建SQL即可完成任务?

1 个答案:

答案 0 :(得分:7)

将列名包装在CDbExpression中,指示Yii将其包含在未转义的结果查询中:

$this->update('item', array('item_order'=> new CDbExpression('item_id')));