gpt4 book ai didi

php - Yii2:如何使用mysql在Find()的orderby()中添加两个字段和NULLS LAST

转载 作者:行者123 更新时间:2023-11-29 07:25:58 27 4
gpt4 key购买 nike

尝试做类似于 this question 的事情, 但需要为 MySQL 排序 NULLS LAST

有点像...

$query->MODEL_NAME::find(); 
$query->orderBy(['column_1' => 'IS NULL','column_1'=> SORT_DESC]);

虽然这个语法是错误的。谢谢!

当我尝试 orderBy('column_1 IS NULL ASC, column_1 desc') 时出现错误

SQLSTATE[42S22]: Column not found: 1054 Unknown column. The SQL being executed was: SELECT * FROM 'table' ORDER BY 'due_date IS NULL'

注意:必须将上述错误中的反引号替换为单引号才能在此处显示。

最佳答案

使用\yii\db\Expression

MODEL::find()
->where('1')
->orderBy(
[
new \yii\db\Expression('col_1 IS NULL ASC, col_1 desc')
]
)
->all();

关于php - Yii2:如何使用mysql在Find()的orderby()中添加两个字段和NULLS LAST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53718312/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com