我尝试实现一个简单的应用程序,其中有用户,并从社交网络获取用户的友谊。我有两个具有以下列的模型:
User
:
id
(默认标识)sn_id
(社交网络中用户的 id)
FriendsRelation
:
user1_sn_id
(外键 到User.sn_id
)user2_sn_id
(外键 到User.sn_id
)
如何实施关联?
现在我在用户上写道:
has_many :friends1, :class_name =>"FriendsRelation", :foreign_key =>"user1_sn_id"
has_many :friends2, :class_name =>"FriendsRelation", :foreign_key =>"user2_sn_id"
问题是,如果我想获得用户的所有朋友,我必须使用u.friends1
,u.friends2
但我如何摆脱不对称?
我应该在 FriendsRelation 上添加什么关联?
此外,FriendsRelation 表中的用户 ID 是来自社交网络的用户 ID,因为这对我来说更容易。这是个问题吗?我应该把用户ID代替吗?