我有一个简单的问题。我有 2 个表:Followers(包含 id、user1、user2 列)和 Users(包含 id、name、address 列)。
我想获取给定用户的关注者的所有用户数据。即在尽可能高效的查询中,我想这样做:Followers.find_all_by_id(10)。然后,对于该列表中的每个关注者,我想在用户表中查找它们。
我显然可以做一个大的 for 循环,但我也知道我可以在这里使用包含语句。我只是不知道该怎么做。这是我到目前为止所得到的:
Follow.includes(:user).where('user1=?',current_user.id)
这不起作用(我得到的结果只是 Follow 表的一个小节)。
谢谢你的帮助!林戈
这是我的模型的样子......
关注.rb:
class Follow < ActiveRecord::Base
belongs_to :photo_taker, :class_name => "User"
belongs_to :user
end
用户.rb:
has_many :followings, :class_name => 'Follow', :dependent => :destroy
has_many :followers, :class_name => 'Follow', :foreign_key => 'user2', :dependent => :destroy