Yii2: How to add two fields in orderby() of Find()

2019-01-26 12:40发布

问题:

How to add more than one field to sort in find() method?

I have tried as below

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

But it is throwing error with query. Orderby Query produced by yii2 is: ORDER BY 0, 1

回答1:

Regarding to the documentation:

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


回答2:

class NewsController extends Controller
{

    public function actionIndex ()
    {   $news = \common\models\News::find()->orderBy(['date' => SORT_DESC])->all();
        return $this->render("index",[
            'news' => $news
        ]);
    }
}


标签: php yii2