Yii2 из коробки дает нам прекрасный инструмент в виде интерфейса DataProvider. Его возможности позволяют выводить списки (ListView) и таблицы (GridView), позволяя при этом сортировать данные, средствами упомянутых виджетов.
При этом в попытке изменить сортировку по умолчанию многие часто добавляют её к самому запросу, например так:
$dataProvider = new ActiveDataProvider([
'query' => $someQuery->orderBy(['date' => SORT_DESC])
]);
При этом любые клиентские сортировки перестают работать, т.к. мы указали сортировку для самой выборки. Правильный подход приведен ниже:
$dataProvider = new ActiveDataProvider([
'query' => $someQuery,
'sort'=> ['defaultOrder' => ['date' => SORT_DESC]]
]);