У меня есть следующий запрос AR, который возвращает массив номеров (комнаты, которые не доступны в отведенный срок):Активная запись получить все инстанции, которые не соответствуют условию
rooms = Room.joins(:bookings).where("(bookings.start_date >= ? AND bookings.start_date <= ?) OR (bookings.end_date >= ? AND bookings.end_date <= ?) OR (bookings.start_date <= ? AND bookings.end_date >= ?)", from, to, from, to, from, to)
Я хочу изменить это запрос, чтобы он возвращал все остальные комнаты; то есть те, которые доступны в запрошенный период времени. Правильный результат представлен следующим образом:
all_rooms = Room.all
available_rooms = all_rooms - rooms
Но я прямо хочу получить доступные номера по одному запросу. Я уже добавил .Нет, но он не дает мне правильный результат:
Как мне изменить запрос?