我有以下
a Category - belongs_to :item
a Item - has_one :category
项目有category_id。如何编写查询以生成包含每个类别的项目数的摘要?
CategoryA - 15
CategoryB - 20
CategoryC - 25
谢谢!
答案 0 :(得分:0)
首先,您的关联设置错误。它应该是
Category has_many :items
Item belongs_to :category
然后,要获得每个类别的项目数,您可以
Category.joins(:items).group("category_id").count
这将为您提供一个哈希,其键为category_id,值为项目数
例如:
{<category_id_1> => 12, <category_id> => 40}
如果您希望密钥为名称
,也可以按category_name进行分组