2011-03-25 193 views
5

在遷移中,我想添加一個默認爲列ID的訂單列。我試過如下:Yii遷移更新

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

但是,這只是給一切ID 0(我不是真的很驚訝,因爲我猜它試圖使用字符串,而不是列名)。

任何方式來完成這個沒有手動構建SQL?

回答

6

裹列名在CDbExpression,指示Yii的把它列入結果查詢轉義:

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

這就是我認爲是正是我終於實現了。感謝您的確認:) – 2011-03-26 14:30:44