Yii2. Как установить сортировку по умолчанию для DataProvider?


Yii2 из коробки дает нам прекрасный инструмент в виде интерфейса DataProvider. Его возможности позволяют выводить списки (ListView) и таблицы (GridView), позволяя при этом сортировать данные, средствами упомянутых виджетов.

При этом в попытке изменить сортировку по умолчанию многие часто добавляют её к самому запросу, например так:

$dataProvider = new ActiveDataProvider([
     'query' => $someQuery->orderBy(['date' => SORT_DESC])
]);

При этом любые клиентские сортировки перестают работать, т.к. мы указали сортировку для самой выборки. Правильный подход приведен ниже:

$dataProvider = new ActiveDataProvider([
     'query' => $someQuery,
     'sort'=> ['defaultOrder' => ['date' => SORT_DESC]]
 ]);
, ,

Добавить комментарий

Ваш адрес email не будет опубликован.