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

122
13 февраля 2022, 06:10

есть запрос на 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

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

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

 $hotel_id = $request->hotel_id;
        $rooms = DB::table('rooms')
                    ->where('hotel_id','=', $request->hotel_id)
                    ->where('people','>=', $request->people)
                    ->whereNotIn('id',function($query,$hotel_id,$to,$from) {
                        $query->select('room_id')->from('orders')
                        ->where('hotel_id','=', $hotel_id)
                        ->where('date_from','<', $to)
                        ->where('date_to','<', $from);
                    })
                    ->orderBy('rooms.id', 'asc')->get();
Answer 1

Можно сделать через subquery

$users = DB::table('rooms')
            ->where('hotel_id', '=', $hotel_id)
            ->where('people', '=', $people)
            ->whereNotIn('id', DB::table('orders')
                ->select('room_id')
                ->where('hotel_id', '=', $hotel_id)
                ->where('date_from','<', $to)
                ->where('date_to','>', $from);
            )
            ->get();
READ ALSO
Как правильно использовать ON DUPLICATE KEY UPDATE?

Как правильно использовать ON DUPLICATE KEY UPDATE?

Есть запрос который вставляет запись, или в случае наличия обновляет:

121
как реализовать таймер в боте вк

как реализовать таймер в боте вк

Мне надо реализовать временный банРаботаю с MySQL

160
Cause: the trustAnchors parameter must be non-empty

Cause: the trustAnchors parameter must be non-empty

Сразу прошу прощение за возможный дубликат, но как я понял из анализа ответов в сети, на этот момент может влиять множество факторовНи одно...

118
Не заполняется Map&lt;String, String&gt;

Не заполняется Map<String, String>

Метод не кладет в Map элементы, на выходе получаем NullPointerException, calculatedMap пустаПодскажите у кого глаз наметан что не так в коде:

101