Intereting Posts
php запускается один раз и дважды вставляет в базу данных mysql Выключить или обработать ошибки в рабочей среде? В cakephp, как я могу найти с условиями в соответствующей области? Порядок PHP MySQL по двум столбцам Проверка доступности AJAX с кнопкой отправки Добавить прослушиватель событий для создания элемента, добавленного прослушивателем событий выбор DIV, которые находятся внутри неупорядоченного списка и элемента списка с помощью простого html dom PHP session_id никогда не меняется при обновлении Регистрация в Facebook Localhost / phpmyadmin / возвращает php-код MkDir Не удалось создать каталог PHP Laravel собственная переменная в области Переименование статуса заказа WooCommerce Если я уже использую PDO, то в чем преимущество дальнейшего абстрагирования запросов SELECT в Eloquent ORM Laravel? Как я могу заставить программы электронной почты показывать изображения, отправляемые в html-адрес электронной почты, используя php?

Yii2: Как поместить нулевые значения в конец списка объектов при сортировке по возрастанию?

Вот мой 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' ] ] 

Это прекрасно работает – здесь и здесь .