我正在做一个为特定属性放置“预订”的项目。为了防止属性被重复预订,我试图返回在给定时间范围内不可用的属性的结果。在我的预订模型中,我有 :check_in 和 :check_out 日期字段。我当前的查询仅返回包含给定范围的日期。
例如:日期 1 = 2013 年 4 月 1 日 日期 2 = 2013 年 4 月 15 日
返回放置在该范围内的所有预订。但是,如果进行了预订,例如在 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})