2012-10-03 59 views
0

在警予,我有一個CDbCriteria以及選擇屬性爲:如何在yii CDbCriteria中使用IFNULL?

$criteria->select = "IFNULL(t.cccid,'Default')"; 

這就是我想回到「默認」如果t.cccid爲NULL。應返回t.cccid的其他值/

問題是IFNULL未被識別。我得到的錯誤是:

試圖選擇一個無效的列「‘默認’)」

我也曾嘗試:

$criteria->select = "IFNULL(t.cccid,'Default') as cccid"; 

,然後我得到語法錯誤。

任何人都可以幫助我如何在$criteria->select使用IFNULL

回答

2

CDbExpression使用將幫助你在這裏

$criteria->select = new CDbExpression("IFNULL(t.cccid,'Default') cccid"); 

或(選擇*,或等欄目,利用陣列)

$criteria->select = array(
     '*', 
     new CDbExpression("IFNULL(t.cccid,'Default') cccid"), 
); 
+0

+1選擇*也 – Stu