2013-02-20 15 views
7

Bir envanter veritabanı yapıyorum ve gruplamak istediğim 2 sütun var (üretici ve model). Bu sütunlara nasıl gruplanır ve öğe grubunun bir miktarını nasıl sağlayabilirim? Örneğinİki sütunla nasıl gruplanır ve gruplandırılmış öğelerin toplamını sağlar

:

Qty Manufacturer Model 
1 Sony   MF-2002 
1 Sony   MF-2002 
1 Planar  PL2410W 
1 Planar  PL2410W 
1 Planar  PL2410W 
1 Planar  PL3610D 
1 Planar  PL3610D 

Sonuç aşağıdaki gibi bir Item modeli varsayarsak

Qty Manufacturer Model 
2 Sony   MF-2002 
3 Planar  PL2410W 
2 Planar  PL3610D 

cevap

9

, sen group yöntemi için bir dizi geçebilir:

Item.group(["manufacturer", "model"]).sum(:qty) 
# => {["Planar", "PL2410W"]=>3, ["Planar", "PL3610D"]=>2, ["Sony", "MF-2002"]=>2} 
İlgili konular