@Analka

Перевести mysql запрос в laravel?

есть запрос на mysql

SELECT *
                FROM `rooms`
        WHERE `hotel_id` = $hotel_id
        WHERE `people` = $people
        WHERE `id` NOT IN (
                    SELECT `room_id`
                FROM `orders`
                WHERE `hotel_id` = $hotel_id
                WHERE `date_from` < $date_to AND `date_to` > $date_from


как записать его в ларавел?

пробую так, но какой-то бред

$rooms = DB::table('rooms')
                        ->where('hotel_id','=', $request->hotel_id)
                        ->where('people','=', $request->people)
                        ->whereNotIn('id',DB::raw('SELECT `room_id`
                            FROM `orders`
                            WHERE `hotel_id` = '.$request->hotel_id.'
                            WHERE `date_from` < '.$to.' AND `date_to` > '.$from.''))
                        ->orderBy('rooms.id', 'asc')->get();
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Первая ссылка в гугле:
https://www.itsolutionstuff.com/post/laravel-5-whe...
Дока:
https://laravel.com/docs/6.x/queries#where-exists-...

PS: И, кстати, данный запрос можно легко переписать без всяких подзапросов с помощью простого left join
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы