1
商品と在庫があります。各在庫はproduct_id, color_id, storage_id and in_stock
です。 Iストレージによってグループストックしたい特定の製品についてrailsグループby入れ子テーブル
その後色及び出力IN_STOCK等:
ストレージ1
- ストレージ1
- カラーA:IN_STOCK
- カラーB: in_stock
- 保存2:
- 色A:IN_STOCK
- 色B:IN_STOCK
残念ながら、私はビューをレンダリングすることはできません。その後、ストレージによって
def all_units_in_stock
stocks.in_stock.group(:storage_id, :color_id).includes(:storage, :color)
end
which returns
Product.find(11).all_units_in_stock
Product Load (37.1ms) SELECT "products".* FROM "products" WHERE "products"."id" = ? LIMIT 1 [["id", 11]]
Stock Load (0.3ms) SELECT "stocks".* FROM "stocks" WHERE "stocks"."product_id" = 11 AND (in_stock > 0) GROUP BY storage_id
Storage Load (0.2ms) SELECT "storages".* FROM "storages" WHERE "storages"."id" IN (1, 2, 3, 4, 5)
Color Load (0.2ms) SELECT "colors".* FROM "colors" WHERE "colors"."id" IN (3)
=> [#<Stock id: 162, product_id: 11, storage_id: 1, in_stock: 10.0, created_at: "2011-11-07 22:54:50", updated_at: "2011-11-07 22:54:50", color_id: 3>, #<Stock id: 163, product_id: 11, storage_id: 2, in_stock: 10.0, created_at: "2011-11-07 22:54:50", updated_at: "2011-11-07 22:54:50", color_id: 3>