Комплексный заказ Laravel

#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/ Места, в которых есть несколько категорий, но которые находятся на второй позиции … третий, четвертый …