我正在使用gem "groupdate", "~> 3.1.1"
和进行统计gem "chartkick"
,我需要知道每个类别中售出的商品数量。这是我的模型和关联。
类别.rb
has_many :products
产品.rb
belongs_to :category, optional: true
has_many :variants, dependent: :destroy
变体.rb
belongs_to :product
has_many :order_items, dependent: :destroy
订单项.rb
belongs_to :variant
我可以像这样找到订单项目的类别标题:
OrderItem.last.variant.product.category.title
但是如何从所有 order_items 中,我可以按标题和计数对类别进行分组?
下面当然不起作用,但这是我的尝试......
def order_item_category
OrderItem.joins(:variant).product.category.group(:title).count
end
您需要正确加入它们,因为您需要所有记录
OrderItem.joins(variant: [product: :category]).group('categories.title').count
这应该为您提供订单项目的类别计数。
注意:您可能还想根据您是否只想要处于已完成状态的订单项目来添加范围。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句