0

yiiでは、次のようなCDbCriteriaselectプロパティがあります。

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

つまり、t.cccidがNULLの場合、「デフォルト」を返したいということです。それ以外の場合、t.cccidの値を返す必要があります/

問題は、IFNULL認識されていないことです。次のようなエラーが発生します:

無効な列を選択しようとしています"'デフォルト')"

私も試しました:

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

その後、構文エラーが発生します。

IFNULL誰かがでの使用方法について私を助けることができます$criteria->selectか?

4

1 に答える 1

3

CDbExpressionを使用すると、ここで役立ちます

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

または ( * または他の列を選択するには、 array を使用します)

$criteria->select = array(
        '*', 
        new CDbExpression("IFNULL(t.cccid,'Default') cccid"),
);
于 2012-10-03T09:02:51.987 に答える