如何在Yii框架的CDbCriteria()中使用case语句?

时间:2014-11-19 03:51:10

标签: php yii

如何在yii framework的CDbCritera()中使用sql case语句 例如,我有这个查询       选择         案件          当userid不为null时,则为userid         结束       作为USERID,         案件          当userid不为null时,那么\' D \'         结束       如H

如果我这样做

$criteria = new CDbCriteria();
$criteria->addCondition('case statement here');
modelname::model()->findAll($criteria);

它不会起作用,因为addCondition是一个' WHERE'条款

如果我使用$criteria->condition()收到此错误

CDbCriteria and its behaviors do not have a method or closure named "condition". 

1 个答案:

答案 0 :(得分:4)

您可以使用" select" CDbCriteria类的属性。

$criteria = new CDbCriteria();
$criteria->select = array(
    '(CASE ... END)',
    'column1',
    'column2'
)
modelname::model()->findAll($criteria);