我使用Yii 2.x. 我想使用OrderBy()进行自定义排序。但它出错了。
我如何运行这样的东西
MyTable::find()->orderBy('WHEN SORTING = '1' THEN '1' WHEN SORTING = '2' THEN '2' WHEN SORTING = '3' THEN '3' ELSE SORTING ASC')->all();
我也试过以下但失败了。
MyTable::find()->orderBy('FIELD(SORTING,1,2,3,0)')->all;
答案 0 :(得分:0)
使用letteral sql代码应该可以工作
MyTable::find()->orderBy(" FIELD(SORTING,1,2,3,0) ")->all();
答案 1 :(得分:0)
->orderBy(new \yii\db\Expression('FIELD(SORTING,1,2,3,0)'))