Sql 联接表请求以检索在请求的时间段内尚未预订的所有房间

Sql 联接表请求以检索在请求的时间段内尚未预订的所有房间,sql,ruby-on-rails,activerecord,Sql,Ruby On Rails,Activerecord,我有一个rails应用程序,它有一个房间模型,有许多预订。 我的预订表有一个房间id、一个开始日期、一个结束日期 在我的表单中,我询问用户希望预订房间的时间段:params[:from],params[:to] 我需要从db中检索所有在请求的时间段内未预订的房间。我认为这一要求可以用两组的交集来表示: A) 所有没有在params[:from]和params[:to] B) 在params[:from]和params[:to] C) 所有在params[:from]之前和params[:to]

我有一个rails应用程序,它有一个
房间
模型,有许多
预订
。 我的预订表有一个
房间id
、一个
开始日期
、一个
结束日期

在我的表单中,我询问用户希望预订房间的时间段:
params[:from],params[:to]

我需要从db中检索所有在请求的时间段内未预订的房间。我认为这一要求可以用两组的交集来表示: A) 所有没有在
params[:from]
params[:to]
B) 在
params[:from]
params[:to]
C) 所有在
params[:from]
之前和
params[:to]

我想到了这个

Room.joins(:bookings).where("bookings.start_date >= ? AND <= ?", params[:from], params[:to])

Room.join(:预订)。在哪里("bookings.start_date>=?为什么在不同的帐户上发布此问题?您如何计算已预订的房间?能否添加您的模型或至少关系?模式也将是nice@max我刚刚做了@МаъСаъъСъъъъъ我的数据库中有一张桌子预订,这张桌子有一个房间id和一个开始日期和结束日期为什么你在不同的账户上发布这个问题??你是如何计算已经预订的房间的?你能添加你的模型或至少关系吗?模式也会是nice@max我刚刚做了@МаъСаъъСъъъъ有一张桌子预订,这张桌子有一个房间id和开始日期和结束日期