我是ROR和Postgre的新手,我很難做到這一點。Group_by - Ruby/Rails + Postgres
我有一個Working_hour模型和一個商家模型,其中商家has_many working_hours和working_hour屬於Merchant。商人可以在同一天有兩個或更多的working_hours。
我的觀點:
<% @merchant.working_hours.order(:day).group_by(&:day).each do |dia, whs| %>
<%= t(:"date.abbr_day_names")[dia.to_i] %> :
<% whs.each do |wh| %>
<li>
<%= wh.oppening_hour.to_formatted_s(:time) %> -
<%= wh.close_hour.to_formatted_s(:time) %>
</li>
<% end %>
<% end %>
當我在一天下令視圖中顯示檢索到的數據(注意,開放時間是無序的):
Mon:
17:00-20:00
10:00-13:00
Tue:
18:00-21:00
10:00-13:00
我想組由星期幾和訂購日期星期幾和第二個開放時間:
Mon:
10:00-13:00
17:00-20:00
Tue:
10:00-13:00
18:00-21:00
但正如您所看到的,目前,我正在使用紅寶石層來執行那會帶來性能問題的問題。如何使用數據庫層來實現這一點?
嘗試搜索 - Postgres的按周 - 我有同樣的問題與MySQL和閱讀一些文章,然後經過了解了更多的SQL的,我做到了,那麼在它的軌道上一流水平只是自行選擇方法... –
你有沒有任何'default_scope'這與命令搞亂? – Pavan
沒有@Pavan。無default_scope。 – user1301037