как выделить все данные + объединенные данные в laravel Eloquent - PullRequest
0 голосов
/ 07 октября 2019

У меня есть запрос на присоединение, который показывает и сортирует отели по их скидкам на номера, как показано ниже:

$direction = $descending ? 'DESC' : 'ASC';
$data = $query->join('accommodation_rooms', 'accommodations.id', '=', 'accommodation_rooms.accommodation_id')
    ->join('discounts', 'accommodation_rooms.id', '=', 'discounts.accommodation_room_id')
    ->select('accommodations.*', 'accommodation_rooms.*', 'discounts.*')
    ->orderBy('discounts.amount', 'desc');
return $data;

. Теперь этот запрос просто выбирает отели, в которых есть номера со скидкой, и вв конце концов, это их сортирует, но я хочу выбрать все варианты размещения и показать тем, у кого есть скидка на номер. я хочу получить все условия проживания и отсортировать сумму скидки, если она есть в номере и ничего не происходит.

1 Ответ

2 голосов
/ 07 октября 2019

Используйте leftJoin, чтобы присоединиться к скидкам. Левое соединение будет включать все строки в таблице, с которой вы начинаете, и объединение null в несоответствующих строках вашей второй таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...