我有一个自我参与协会Friendship
。用户通过友谊拥有许多朋友。我想得到朋友的朋友列表。最有效的方法是什么?我使用的是ActiveRecord。谢谢!
答案 0 :(得分:2)
class User < ActiveRecord::Base
has_many :friendships
has_many :friends, through => :friendships, :class_name => "User"
def friends_of_friends
User.joins(:friendships).where(:user_id => friendships.pluck(:friend_id))
end
end
友谊模型就像是
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, :class_name => 'User'
end