簡単な問題があります。私は2つのテーブルを持っています:フォロワー(列ID、user1、user2)とユーザー(列ID、名前、アドレス)。
特定のユーザーのフォロワーのすべてのユーザーデータを取得したいと思います。つまり、可能な限り効率的なクエリで、これを実行したいと思います:Followers.find_all_by_id(10)。次に、そのリストのフォロワーごとに、Usersテーブルでそれらを検索します。
私は明らかに大きなforループを実行できますが、ここでincludesステートメントを使用できることも知っています。私はそれを行う方法を理解することができません。これが私がこれまでに得たものです:
Follow.includes(:user).where('user1=?',current_user.id)
それは機能しません(私が得る結果は、Followテーブルのサブセクションにすぎません)。
ご協力いただきありがとうございます!リンゴ
これが私のモデルがどのように見えるかです...
Follow.rb:
class Follow < ActiveRecord::Base
belongs_to :photo_taker, :class_name => "User"
belongs_to :user
end
User.rb:
has_many :followings, :class_name => 'Follow', :dependent => :destroy
has_many :followers, :class_name => 'Follow', :foreign_key => 'user2', :dependent => :destroy