我有以下的關聯客房預訂系統查詢
User:
has_many :reservations
has_many :rooms, through: :reservations
Room:
has_many :reservations
has_many :users, through: :reservations
Reservation:
belongs_to :room
belongs_to :user
在我的預約模式,我有如下領域
CHECKIN_DATE,CHECKOUT_DATE
我想找出所有的客房,在給定時間內尚未保留。
我寫下面的查詢,但它不工作。請建議更正或更好的方法。
Room.joins('LEFT JOIN reservations ON reservations.room_id = rooms.id').where.not(
'reservations.checkin_at < :requested_end_date AND
reservations.checkout_at > :requested_start_date',
requested_start_date: date_begin,
requested_end_date: date_end
)
什麼錯誤? –
@BartekGładys當沒有預訂時它將返回空,它應該返回所有房間。 – Adt