RoR - group_by之后的打印计数

时间:2014-09-23 19:54:00

标签: ruby-on-rails ruby printing group-by

在我的Ruby on Rails应用程序中,我希望在将记录分组到数据库后打印计数结果,我得到类似的结果:

{1=>6}

在我的数据库中有6条记录,所有记录都具有相同的user_id

这是我的代码:

Whatever.group(:user_id).count(:user_id)

我只想打印 1 如何执行此操作。我尝试使用distinctuniq但没有成功......

2 个答案:

答案 0 :(得分:1)

如果您只需要将其缩小到有用的结果:

Whatever.group(:user_id).count.keys.join(',')

这将处理结果集中有多个用户的情况。

count(:user_id)部分是多余的,除非您根据其他条件进行计数。只需使用count代替。

答案 1 :(得分:0)

这是一个例子

('a'..'b').group_by { |i| i * 2 }          #=> {"aa"=>["a"], "bb"=>["b"], "cc"=>["c"]}
('a'..'c').group_by { |i| i * 2 }.keys     #=> ["aa", "bb", "cc"]
('a'..'c').group_by { |i| i * 2 }.keys[0]  #=> "aa"