我有2个表,一个PlayingField
表和Bookings
表,我想编写一个带有查询参数Start_date
,End_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)
日期和所需玩家数量?
谢谢
答案 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相关联?