Yii2:如何按 Find() 的 orderby() 添加两个字段

2022-08-30 20:25:48

如何在find()方法中添加多个字段进行排序?

我试过如下

$model::find()->orderBy([['id_date' => SORT_DESC],['item_no'=>SORT_ASC]);

但它会引发查询错误。yii2 生成的 Orderby Query 是:ORDER BY 0, 1


答案 1

根据文档

$model::find()->orderBy([
  'id_date' => SORT_DESC,
  'item_no'=>SORT_ASC
]);

答案 2

以下代码中存在语法错误:

$model::find()->orderBy([['id_date' => SORT_DESC], ['item_no' => SORT_ASC]);

正确的方法是:

$model::find()->orderBy(['id_date' => SORT_DESC, 'item_no' => SORT_ASC]);

推荐