1

给定 rails 对象@messages,它联系以下内容:

<Message id: 6, sender_id: 2, message: "123">
<Message id: 61, sender_id: 2, message: "stuff abc">
<Message id: 631, sender_id: 2, message: "hello world">
<Message id: 3, sender_id: 4, message: "hello world">

如何确定每个唯一 sender_id 的计数。输出含义:

2 | 3
4 | 1

谢谢

4

1 回答 1

2

您可以使用count

@messages.count(:id, group: :sender_id)

这将输出一个哈希

{ 2 => 3, 4 => 1 }

如果你需要像你的问题一样输出它

@messages.count(:id, group: :sender_id).each do |sender_id, count|
  puts "#{sender_id} | #{count}"
end
于 2013-03-14T03:49:43.550 回答