Yii迁移更新

Mic*_*ior 6 php migration yii

在迁移中,我想添加一个默认为列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的情况下完成任务?

Jon*_*Jon 7

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

$this->update('item', array('item_order'=> new CDbExpression('item_id')));
Run Code Online (Sandbox Code Playgroud)