如何在包含activerecord查询中指定限制内​​容?

时间:2013-11-03 00:23:48

标签: ruby-on-rails ruby activerecord ruby-on-rails-4 rails-postgresql

我有

Shop.includes(:opening_times)
              .where("opening_times.day =?", Time.now.wday)
              .where("opening_times.opens > ?", @now)
              .order("opening_times.opens")
              .references(:opening_times)
              .limit(12)

每当它在两个开放时间到达商店时,它只返回11个商店。我想它限制在12个开放时间而不是12个商店。如何指定我要限制12个商店,而不是12个开店时间?

奇怪的是,只有在我按开放时间订购时才会发生这种情况。如果我带走.order("opening_times.opens"),它将返回12家商店。

1 个答案:

答案 0 :(得分:1)

也许你的一个商店有2个opening_times记录,你的SQL引擎都会返回它们。

尝试添加如此不同的内容:Shop.distinct.includes(:opening_times).where...