Ben ROR ve Postgre'nin oldukça yeni ve bunu başarmak için ben belada.Group_by - Ruby/Raylar + Postgres
Bir work_hour Modeline ve bir tüccar has_many working_hours ve working_hour'un Merchant'a ait olduğu bir Satıcı Modeline sahibim. Satıcı aynı gün için iki veya daha fazla işçiye sahip olabilir.
Bence: Ben geçen gün sipariş manzaraya görüntülediğimizde
<% @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 %>
alınan verilerdir (Açılış saati sırasız olduğunu unutmayın):
Mon:
17:00-20:00
10:00-13:00
Tue:
18:00-21:00
10:00-13:00
Ben göre gruplandırmak istediğiniz haftanın günü ve ilk olarak haftanın ilk günü ve ikinci olarak açılış saati:
Mon:
10:00-13:00
17:00-20:00
Tue:
10:00-13:00
18:00-21:00
Gördüğünüz gibi, şu anda performans sorunlarını getiren şeyi yapmak için ruby katmanını kullanıyorum. Bunu veritabanı katmanını kullanarak nasıl başarabilirim?
deneyin arama - haftasında postgres grup - i mysql ile ve daha sonra bazı makaleler okuduktan sonra aynı sorunu vardı sql daha öğrendim ve ben o zaman sınıf düzeyinde onun sadece özel seçme yöntemi raylar, did it ... –
Siparişle uğraşan herhangi bir 'default_scope'unuz var mı? – Pavan
No @Pavan. Hiçbiri default_scope. – user1301037