Rails:使用join更大且小于日期值的查询?

时间:2012-08-19 20:52:28

标签: ruby-on-rails

我有2个表,一个PlayingField表和Bookings表,我想编写一个带有查询参数Start_dateEnd_date和{{}的rails查询1}}

方案: 我将Start_date,End_date和Number_of_players传递给一个方法,我希望获得所提供日期之间可用(未预订)的所有PlayFields,并且该字段可以容纳所需的玩家数量。

Number_of_players

伪代码:

PlayingField has_many bookings
Booking belongs_to PlayingField

有人可以告诉我,做到这一点的最佳方法是做什么?

如何通过rails查询数据库以获取所有可用@Fields = PlayingFields.where(bookings.end_date > start_date AND bookings.start_date > end_date AND PlayingFields.capacity >= number_of_players) 日期和所需玩家数量?

谢谢

1 个答案:

答案 0 :(得分:1)

在SQL调用之前,rails必须包含预订表。

PlayingFields.joins(:bookings).where(bookings.end_date > start_date AND bookings.start_date > end_date AND bookings.capacity >= number_of_players)

我也很好奇这两个对象是如何编程相关的。预订模型如何与PlayField相关联?