考えるのRailsアプリ:カウント明確な記録ながら
[[23, "Pat", "Smith"]] Teams: 1
[[46, "Kate", "Jones"]] Teams: 1
[[107, "John", "Doe"]] Teams: 3
...
:私は簡潔にデータベースを照会し、彼らが属するキャプテンの概要とチームの数を取得しようとしている
class Team < ActiveRecord::Base
belongs_to :captain, class_name: User
を
私は、各キャプテンのIDとハッシュとチームの数を取得することができます
> Team.group(:captain_id).count
=> {85=>3, 106=>1, 81=>1, 25=>1, 32=>1, 8=>3, 1=>1, 79=>2, 26=>1}
をしかし、それは取得します 醜い。次のように動作しますが、醜いように見えて、n + 1 SQLクエリがあります。
Team.group(:captain_id).count.sort.to_h.each { |key,val| puts "#{User.where(id: key).pluck(:id, :first, :last)} Teams: #{val}" }
Railsの方法は何ですか?
あなたの質問は直接の複製ではありませんが、[この質問とその回答](https://stackoverflow.com/questions/17252669/rails-query-with-select-group-and)で役に立つものが見つかるかもしれません。 -having-wont-work)である。また、あなたの関係を双方向にする。 – anothermh