Как использовать IFNULL с yii CDbCriteria?

В YII у меня есть CDbCriteria с выбором свойства как:

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

То есть я хочу вернуть 'Default', если t.cccid равен NULL. В противном случае должно быть возвращено значение t.cccid/

Проблема в том, что IFNULL не признается Я получаю ошибку как:

пытается выбрать недопустимый столбец "Default")

Я также попробовал:

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

и тогда я получаю синтаксическую ошибку.

Может ли кто-нибудь помочь мне о том, как использовать IFNULL в $criteria->select?

1 ответ

Использование CDbExpression поможет вам здесь

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

или (чтобы выбрать * или другие столбцы, используйте массив)

$criteria->select = array(
        '*', 
        new CDbExpression("IFNULL(t.cccid,'Default') cccid"),
);
Другие вопросы по тегам