0
に一致しないすべてのインスタンスを取得しますそのクエリは他のすべての部屋を返します。これは、要求された期間内に利用可能なものです。正しい結果は次のとおりです:アクティブレコードが、私は部屋の配列(特定の期間に利用できない部屋)を返し、次のARクエリを持っている状態
all_rooms = Room.all
available_rooms = all_rooms - rooms
しかし、私は直接利用可能な部屋を1つのクエリで取得したいと考えています。私はすでに.notを追加しましたが、正しい結果を得られません。
rooms = Room.joins(:bookings).where.not("(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)
どのようにクエリを変更すればよいですか?