1

要列出我数据库中的所有商店,我有查询

@shops = Shop.includes(:opening_times)
             .references(:opening_times)
             .limit(paging)
             .offset(@offset)

如果我只想获得现在正在营业的商店,我可以添加

.where("opening_times.day =?", today) #Open today
.where("opening_times.opens <= ?", @now)  #Opening time is before now
.where("(opening_times.opens+opening_times.open_for) > ?", @now)  #Closing time is after now
.order("opening_times.opens+opening_times.open_for") #Order by earliest opening time

但我需要列出所有商店,目前正在营业的商店位于顶部。有没有办法按照是否满足当前开放的条件对列表进行排序?

这是使用postgres。

4

0 回答 0