Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:使用联接大于和小于日期的值进行查询?_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails:使用联接大于和小于日期的值进行查询?

Ruby on rails Rails:使用联接大于和小于日期的值进行查询?,ruby-on-rails,Ruby On Rails,我有两个表,一个是PlayingField表和Bookings表,我想编写一个rails查询,其中包含查询参数Start\u date,End\u date和Number\u播放器 情景: 我将开始日期、结束日期和球员人数传递给一个方法,我希望获得在提供的日期之间可用(未预订)的所有比赛场地,并且该场地能够容纳所需的球员人数 PlayingField has_many bookings Booking belongs_to PlayingField 伪代码: @Fields = Playing

我有两个表,一个是
PlayingField
表和
Bookings
表,我想编写一个rails查询,其中包含查询参数
Start\u date
End\u date
Number\u播放器

情景: 我将开始日期、结束日期和球员人数传递给一个方法,我希望获得在提供的日期之间可用(未预订)的所有比赛场地,并且该场地能够容纳所需的球员人数

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查询数据库,以获得所有可用的
播放字段
,以及它们之间的日期和所需的播放器数量


谢谢

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

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

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

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

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

我也很好奇这两个对象在编程上是如何关联的。预订模式是如何与游乐场联系在一起的?

谢谢你的回答,说实话,我并不太关心它的JS方面,而是更关心rails方面需要做些什么。您的代码似乎没有考虑到开始日期和结束日期是bookings表中的列。谢谢你的回答,老实说,我不太关心JS方面的问题,但更关心rails方面需要做些什么。您的代码似乎没有考虑到开始日期和结束日期是bookings表中的列。谢谢