1

ShowとBookingの2つのモデルがあります。ショーには多くの予約があります。各予約には、start_dateとend_dateがあります。i)予約がないか、ii)時間間隔[開始、終了]と重複しない予約があるショーを見つけたいです。これまでのところ:

Show.joins("LEFT JOIN bookings ON bookings.show_id = shows.id").where("bookings.start_date > ? OR bookings.end_date < ?, end, start)

ただし、予約のない番組は返されません。予約のない番組をクエリ結果に含めるにはどうすればよいですか?

4

1 に答える 1

3

これを試して:

Show.joins("LEFT JOIN bookings ON bookings.show_id = shows.id").where("bookings.id IS NULL OR bookings.start_date > ? OR bookings.end_date < ?", end, start)
于 2012-11-05T23:04:23.793 に答える