У меня есть запрос whereHas, который получает данные из сводной таблицы. Но в сводной таблице у меня также есть дополнительный столбец под названием «порядок», и я использую этот столбец, чтобы убедиться, что элементы упорядочены в правильной ПОСЛЕДОВАТЕЛЬНОСТИ, поскольку он представляет автобусный маршрут. Пример: Автобус / паром останавливается в 1 2 3 4 5 6.
У нас есть пункт отправления и назначения, которые представлены как 'port_id'.
Так, например, запрос ниже дает мне правильные данные, но мне нужно убедиться, что столбец «порядок» всегда находится в правильной последовательности на основе идентификатора порта отправления и идентификатора порта прибытия. Поэтому, если вы выполните поиск от port_id 14 до port_id 15, он не должен возвращать никаких результатов, поскольку столбец 'порядок' не соединяет их таким образом.
Это то, что я пробовал:
$routes = Route::whereHas('ports', function($query) use ($request) {
$query->where('port_id', $request->route['from']['id']);
})
->whereHas('ports', function($query) use ($request) {
$query->where('port_id', $request->route['to']['id']);
})->get();
А это сводная таблица:
Это таблица маршрутов:
Спасибо.