Как использовать 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"),
);