#sql #laravel #eloquent #laravel-8 #laravel-query-builder
Вопрос:
Мне нужно выполнить «сложную» сортировку запроса в Laravel, и мне нужна ваша помощь 💪
Если я продолжу в том же духе, у меня больше не будет волос.
Как правило, у меня есть тезисные таблицы :
-- PLaces
- id
- name
- lat
- lng
-- Categories
- id
- name
-- category_place
- category_id
- place_id
- order
- confirmed
Поэтому люди ищут места рядом с местоположением определенной категории.
Я действительно использую этот код для достижения этой цели :
$places = Place::where('active', 1)
->whereHas('categories', function (Builder $query) use($selectedCategory) {
$query->where('category_id', $selectedCategory->id);
})
->Results($city->lat, $city->lng);
Где Результаты-это область с вычислением расстояния.
Я легко получаю места на расстоянии с соответствующими категориями. Но я хочу получить свои результаты в определенном порядке :
1/ Места только с искомой категорией 2/ Места с несколькими категориями, но с поиском на первой позиции 3/ Места с несколькими категориями, но с поиском на второй позиции … третий, четвертый …
Как упорядочить мои результаты, чтобы тема была в наилучшем порядке ?
Хорошего дня. Спасибо.
Комментарии:
1. Итак, что именно вы хотите заказать ?
2. Спасибо @frogeyedman, как я писал : 1/ Места только с искомой категорией2/ Места, в которых есть несколько категорий, но которые находятся на первой позиции 3/ Места, в которых есть несколько категорий, но которые находятся на второй позиции … третий, четвертый …