Yii2 Приоритетная сортировка по нескольким полям
Есть таблица Task с полями
- id
- title
- status
- add_date
- info
Поле статус может принимать значения
- new
- comlite
- ready
- draft
- deny
Есть запрос по типу.
$query = Task::find()
->orderBy(['id'=>SORT_DESC])
->all();
Нужно отсортировать по 2 полям НО, так чтоб сначала выбрались все записи со статусом comlite, а всё что дальше просто отсортировалось по дате.
Прошу натолкнуть на вариант решения.
Ответы (1 шт):
Автор решения: UKRman
→ Ссылка
Можно так:
Task::find()
->orderBy(['IF((status="comlite")=0,1,0) ASC', 'add_date ASC'])
->all();