1

我有 2 个表,一个PlayingField表和一个Bookings表,我想编写一个接收查询参数的 rails 查询Start_dateEnd_date并且Number_of_players

场景:我将 Start_date、End_date 和 Number_of_players 传递给一个方法,我想获取在提供的日期之间可用(未预订)的所有 PlayingFields,并且该字段可以容纳所需的玩家数量。

PlayingField has_many bookings
Booking belongs_to PlayingField

伪代码:

@Fields = PlayingFields.where(bookings.end_date > start_date AND bookings.start_date > end_date AND PlayingFields.capacity >= number_of_players)

有人可以告诉我最好的方法是在轨道方面吗?

如何通过 rails 查询数据库以获取PlayingFields它们之间的所有可用日期以及所需的玩家数量?

谢谢

4

1 回答 1

1

rails 必须在 SQL 调用之前包含 bookings 表。

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

我也很好奇这两个对象如何以编程方式关联。Booking 模型如何与 PlayingField 关联?

于 2012-08-19T21:36:59.887 回答