在AC中,此顺序运行良好,但“查询”构建器使引号错误,结果错误
$models = Yii::app()->db->createCommand()
->select('id, user_id, title, created, modified, lang, forum_id, post_id, status, views, replies, attached')
->from('posts')
->where('post_id = 0')
->order('attached AND forum_id = 1 AND created DESC, created DESC')
->limit(11)
->queryAll();
错误:
CDbCommandнеудалосьисполнитьSQL-запрос:SQLSTATE [42S22]:未找到列:1054未知列'附加AND forum_id = 1并在'order子句'中创建' . 执行的SQL语句是:SELECT id,user_id,title,created,modified,lang,forum_id,post_id,status,views,reply,attach FROM posts FROM WHERE post_id = 0 ORDER BY attach AND forum_id = 1 AND created DESC,回复DESC,创建了DESC LIMIT 11
怎么解决?
附:对不起我的英语不好 .
2 回答
你的
where
和order
应该是:参考:How do I return rows with a specific value first?
您应该在圆括号中使用顺序表达式以避免检查列 . 这必须奏效