Yii2 中要求按某个字段 固定值排序,比如:

Product
id | name
1 | A
2 | B
3 | C
4 | D

让数据按需要进行排序

Product
id | name
3 | C
1 | A
2 | B
4 | D

这种情况,就可以用 上 orderBy field !如:

// 实例化Expression 对象 以字符串的形式 传入 'FIELD(字段,排序的顺序)';
$orderBy = new \yii\db\Expression('FIELD (id, 3,1,2,4)');
// 然后以数组的形式传入Model中
$Model->order([$orderBy]);