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)

2 つの営業時間を持つショップにヒットするたびに、11 ショップのみが返されます。12店ではなく12opening_timesに制限していると思います。12 の open_times ではなく、12 のショップを制限するように指定するにはどうすればよいですか?

奇妙なことに、これは開店時間までに注文した場合にのみ発生します。を取り除くと.order("opening_times.opens")、12 店舗が返されます。

4

1 に答える 1

1

おそらく、あなたのショップの 1 つに 2 つの opening_times レコードがあり、SQL エンジンが両方を返すとします。

次のように個別に追加してみてください。Shop.distinct.includes(:opening_times).where...

于 2013-11-03T00:38:32.830 に答える