如何在RoR中执行此查询

时间:2014-02-24 05:44:37

标签: ruby-on-rails ruby

我有一个rails活动记录查询,它返回每个类别中项目数的计数。在表格中

Category.joins(:item).group("category_id").count
=> {1=>1, 2=>3}

给出了正确的结果。我遇到了一个问题,包括结果中的类别名称以及项目计数。如何包含类别名称,例如

 1, Severe => 1, 
 2, Minor => 3 

谢谢!

2 个答案:

答案 0 :(得分:3)

试试这个

Category.joins(:item).group("categories.name").count

答案 1 :(得分:3)

你可以这样做:

Category.joins(:item).group([:category_id, :category_name]).count

然后你会得到类似下面的东西:

{[1, "Severe"]=>1, [2, "Minor"]=>3}