如何在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".
答案 0 :(得分:4)
您可以使用" select" CDbCriteria类的属性。
$criteria = new CDbCriteria();
$criteria->select = array(
'(CASE ... END)',
'column1',
'column2'
)
modelname::model()->findAll($criteria);