终于找到这个的解决方案了! [ 2.0 版本 ]
Yii2 中要求按某个字段 固定值排序
Yii2 中要求按某个字段 固定值排序,比如:
Product
id | name
1 | A
2 | B
3 | C
4 | D
I want ID 3 in first position:
Product
id | name
3 | C
1 | A
2 | B
4 | D
这种情况,就可以用 上 orderBy field !如:
$orderBy = (new \yii\db\Query())
->select('*')
->from('product')
->orderBy([new \yii\db\Expression('FIELD (id, 3,1,2,4)')])
->all();
或者简化成类似这样:
if (in_array(2, $status)) {
$query->orderBy(["FIELD(`id`,3,2,1)"=>true, 'g.start_time'=>'asc']);
} else {
$query->orderBy(["FIELD(`id`,4,5,6)"=>true, 'g.start_time'=>'desc']);
}
PHP学院的中学生 补充于 2019-04-09 15:41
有人遇到过这个问题吗?
其他 0 个回答
没有找到数据。
PHP学院的中学生
注册时间:2018-10-23
最后登录:2024-09-23
在线时长:168小时13分
最后登录:2024-09-23
在线时长:168小时13分
- 粉丝29
- 金钱4725
- 威望30
- 积分6705