Yii框架;如何使用OrderBy()与自定义排序

时间:2016-02-24 09:06:59

标签: php yii

我使用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;

2 个答案:

答案 0 :(得分:0)

使用letteral sql代码应该可以工作

MyTable::find()->orderBy(" FIELD(SORTING,1,2,3,0) ")->all();

答案 1 :(得分:0)

使用\yii\db\Expression例如

换行自定义排序

->orderBy(new \yii\db\Expression('FIELD(SORTING,1,2,3,0)'))