mysql - Yii2 OrderBy特定字段值优先

标签 mysql yii2

这是我的 table :

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

我想要 ID 3 在第一个位置:

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

我只能用“OrderBy”分配 ASC 和 DESC 值。如果您分配一个数值,它会出错。

最佳答案

使用 yii\db\Expression :

$orderBy = (new \yii\db\Query())
         ->select('*')
         ->from('product')
         ->orderBy([new \yii\db\Expression('FIELD (id, 3,1,2,4)')])
         ->all();

关于mysql - Yii2 OrderBy特定字段值优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688893/

相关文章:

php - MySQL数据库不更新数据

yii2 - 重定向到 anchor 链接

mysql - Yii2 NOT IN 条件不工作

javascript - Yii Framework 2.0 检查是否是来自 AJAX 的 GET 请求

Yii2 验证银行帐号和路由号码

mysql - 如何选择具有当天时间戳的行?

php - 使用 PHP 在数据库中实现值检查的最佳方法

mysql - 在一个 select 语句中重复 if

mysql - SQL:我可以不使用COUNT和AVG作为聚合函数,当其他的不是agg吗?

gridview - 从 DataProvider 值 yii2 设置页面标题