私は特定の物件の「予約」を行うプロジェクトに取り組んでいます。プロパティが二重に予約されるのを防ぐために、指定された時間枠内に使用できないプロパティの結果を返そうとしています。予約モデルには、:check_inフィールドと:check_out日付フィールドがあります。私の現在のクエリは、指定された範囲のみを含む日付を返しています。
例:Date1 = 04/01/2013 Date2 = 04/15/2013
その範囲内に配置されたすべての予約を返します。ただし、予約が行われた場合、たとえば2013年3月15日から2013年4月5日までの場合、その結果も返す必要があります。
これが私の現在のクエリです:
bookings = Booking.where(check_in: {'$gte' => params[:check_in].to_date, '$lte' => params[:check_out].to_date}, check_out: {'$gte' => params[:check_in].to_date,'$lte' => params[:check_out].to_date})