5
良い答えがあるかどうかわかりません。のは、私が持っているとしましょう:Rails:オブジェクトの配列の関係を取得する
users.photos #=> Returns all photos this group of users has
をし、単にそれらを反復処理することなく、すべての写真を取り戻す:
users = User.where(:location => "Utopia") #=> Returns [user1,user2,user3,user4]
私のような何かをしたいと思います。各繰り返しはDB呼び出しであるので、私は尋ねる。単一のDB呼び出しを行う良い方法はありますか?
users = User.where(:location => 'Utopia').includes(:photos)
別の1回のパスでのユーザー、そして関係とそれに関連する写真を取得します:
LOJではなく内部結合を行う方が効率的です - 'photos = Photo.joins(:user).where(:users => {:location => 'Utopia'})' – mnelson
結合を実行する際に使用するキーを指定することは可能ですか?関係は ':has_many:through'を通して設定され、戻り値は間違ったキーセットを使用します。 – Justin