Сложная выборка из одной таблицы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
kornell_RU
Сообщения: 12
Зарегистрирован: 2017.09.14, 22:37

Сложная выборка из одной таблицы

Сообщение kornell_RU »

Приветствую всех. Возникла задача сделать вывод новостей с сортировкой.
Есть таблица с записями, такого вида.

Код: Выделить всё

id, title, description, end_comp, end_sort, status, created_at, updated_at
Нужно сделать выборку, в которой новости status =1 отсортированные по солю end_comp, после того как эти новости закончатся, далее выводить уже status =2, так же отсортированные по солю end_comp, и после как они закончатся, выводить status =3 с сортировкой по солю end_comp. То есть, что бы при сортировке они не смешались, а шли по порядку статуса.
Так же все это нужно вывести с пагинацией.
У меня были мысли делать три разных запроса, сортировать их, потом сливать и выводить через ArrayDataProvider. Но смущает меня, то что придется делать три запроса, плюс получать весь массив данных, а только потом разбивать на страницы.

Может кто то подскажет как лучше все это реализовать?)
cool
Сообщения: 9
Зарегистрирован: 2015.12.07, 11:11

Re: Сложная выборка из одной таблицы

Сообщение cool »

Простая сортировка по 2 полям:

Код: Выделить всё

order by status, end_comp
kornell_RU
Сообщения: 12
Зарегистрирован: 2017.09.14, 22:37

Re: Сложная выборка из одной таблицы

Сообщение kornell_RU »

cool писал(а): 2017.12.14, 14:44 Простая сортировка по 2 полям:

Код: Выделить всё

order by status, end_comp
Спасибо) Написал вопрос, потом сам его прочитал и тоже пришло в голову сортировать по двум полям))
Наверное еще не проснулся полностью)
Еще раз спасибо за помощь)
Ответить