许多自我加入表

时间:2012-03-24 20:37:40

标签: ruby-on-rails-3

我有一个Users表,它连接到一个链接回用户的Friends表。

所以

User
ID | Name
has_many :friends, :through => :friends

Friend
ID | user_id | friend_id | relationship
belongs_to :friends, :foreign_key => "friend_id", :class_name => "User"

这很好,但是当我有一个特定的用户并打电话

friends = me.friends 

我正在获取一组用户,但是我需要两个表信息,所以我想要

ID | name | relationship 

1 个答案:

答案 0 :(得分:1)

请参阅此自我引用关联http://railscasts.com/episodes/163-self-referential-association

现在,从友谊(示例中的/ friends表)表中获取关系信息,请执行以下操作

User.includes(:friendships).all # some other conditions ?

有关详情http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations

,请参阅此处