1

我有

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 个 opening_times 而不是 12 个商店。如何指定我想限制 12 家商店,而不是 12 次开放时间?

奇怪的是,这只发生在我按营业时间订购时。如果我拿走.order("opening_times.opens"),它会返回 12 家商店。

4

1 回答 1

1

也许您的商店有 2 个 opening_times 记录,而您的 SQL 引擎将它们都返回。

尝试像这样添加 distinct:Shop.distinct.includes(:opening_times).where...

于 2013-11-03T00:38:32.830 回答