есть запрос на 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();
Можно сделать через 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();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть запрос который вставляет запись, или в случае наличия обновляет:
Сразу прошу прощение за возможный дубликат, но как я понял из анализа ответов в сети, на этот момент может влиять множество факторовНи одно...
Метод не кладет в Map элементы, на выходе получаем NullPointerException, calculatedMap пустаПодскажите у кого глаз наметан что не так в коде: