我正在使用gem "groupdate", "~> 3.1.1"
和gem "chartkick"
进行统计,因此我需要知道每个类别中售出了多少商品。
这是我的模型,并且存在关联。
category.rb
has_many :products
product.rb
belongs_to :category, optional: true
has_many :variants, dependent: :destroy
variant.rb
belongs_to :product
has_many :order_items, dependent: :destroy
order_item.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
答案 0 :(得分:1)
您需要正确地加入他们,因为您需要所有记录
OrderItem.joins(variant: [product: :category]).group('categories.title').count
这应该为您提供订单项的分类计数。
注意:您可能还想添加范围,取决于您是否只希望订购商品处于完成状态。