我有一個代碼Yii的更新加入
$command = Yii::app()->db->createCommand()
->update(
'queue q',
array('i.status_id' => $status_id)
)
->join('item i', 'q.item_id = i.item_id')
->where('IN', 'queue_id', $ids);
我打電話後$命令 - > BuildQuery對於()我得到一個錯誤:
CDbCommand failed to execute the SQL statement: Invalid parameter number: parameter was not defined. The SQL statement executed was: UPDATE
queue q
SETi
.status_id
=:i.status_id
的印象是,它並沒有看到加入和命令的地方。 什麼問題?
我試過。在這種情況下,它表示參數的數量和它們的條目必須相同。另一個單詞參數僅用於預期的地方。 此外,仔細看,這個參數自動調用「:i.status_id」 –
然後嘗試在綁定參數之前設置where子句。我已經更新了答案。 – Puigcerber
這不受支持,綁定值的數組只能與CDbCriteria而不是CDbCommand一起使用。 – Arth