@igor--ok

Как настроить сортировку в запросе Laravel?

Друзья!
Помогите разобраться! Нужно выбрать товары из БД, рассортированные в таком порядке и приоритете:
1. Сначала те, которые есть в наличии при любом остатке, т.е. не сортируя их по конкретному количеству (поле "quantity")
2. По числу заказов в порядке убывания (поле "ordercount")
3. По числу просмотров в порядке убывания (поле "browsecount")
Проблема у меня в первом пункте. По остатку я сортирую, но мне надо чтобы вперед вышли товары с остатком >0, и их уже рассортировать по п.п. 2-3
Ещё должна быть пагинация. Поэтому, я так понимаю, что собирать товары в два запроса (сначала те, что в наличии, потом остальные) - плохая идея
Вот мой запрос:
$products = Product::whereCategory_id($category->id)->orderBy('quantity','desc')
->orderBy('ordercount','desc')->orderBy('browsecount','desc')->paginate(12);
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Попробуй orderBy(DB::raw('quantity > 0'),'desc')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы