私は、次のしている関連ルームの予約システムクエリ
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