Rails嵌套组并使用列重命名计数

时间:2015-09-30 08:52:54

标签: ruby-on-rails ruby ruby-on-rails-4 rails-activerecord

我有一个看起来像这样的模型:

Issue(id, ..., tracker_id)
                   |
          Tracker(id, ..., name)
Issue has_one :tracker
Tracker has_many :issues

我想获得每个跟踪器的问题数量。我得到的是:

Issue.group(:tracker_id).count => {3=>446, 5=>247, 9=>2, 11=>560}

但我不想按tracker_id进行分组,而是按tracker_name进行分组,以获取此信息:

{"name_1"=>446, "name_2"=>247, "name_3"=>2, "another_name"=>560}

有没有办法直接执行此操作,没有任何映射操作/哈希重命名?

1 个答案:

答案 0 :(得分:2)

有一种方法:

Issue.joins(:tracker).group('trackers.name').count