データベース内のすべてのショップを一覧表示するには、クエリがあります
@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を使用しています。