Вот мой DataProvider:
$dataProvider = new ActiveDataProvider([ 'query' => $query, 'pagination' => ['pageSize' => 50], 'sort' => [ 'defaultOrder' => [ 'priority' => SORT_DESC, 'date_targeted' => SORT_ASC ] ] ]);
Я хочу, чтобы двигаться («не задано») до конца результатов.
Как я могу это сделать?
Вы можете добавить новое поле в select
. И поставьте в IF
так:
$query->select([ '*', new \yii\db\Expression('IF(date_targeted IS NULL, 1, 0) AS date_targeted_flag') ]);
И в sort
добавьте date_targeted_flag
:
'sort' => [ 'defaultOrder' => [ 'date_targeted_flag' => SORT_ASC, 'priority' => SORT_DESC, 'date_targeted' => SORT_ASC ], 'attributes' => [ 'date_targeted_flag', 'priority', 'date_targeted' ] ]
Это прекрасно работает – здесь и здесь .