0
我的友谊模式,并为每一个新的友谊,我创建了两个新纪录:高级友谊模型和查询中的Rails 3
- 用户1和朋友1
- 朋友1和用户1
我可以检索所有标准人员,如:朋友,友谊,pending_friends ...当我尝试获得普通朋友,朋友的朋友时,情况变得复杂...
现在t Ø得到共同的友谊,我使用类似:
has_many :common_friendships, :class_name => 'Friendship', :conditions=>'friendships.user_id = #{self.id}' do
def common_with(friend)
joins("inner join friendships fl2 on friendships.friend_id = fl2.user_id").where("fl2.friend_id = #{friend.id}")
end
end
我也可以使用完整的查询与finder_sql
,如:
select distinct *
from friendships fl1
inner join friendships fl2 on fl1.friend_id = fl2.user_id
where fl1.user_id = 1 and fl2.friend_id = 2
我如何能做到这一点,在Rails 3的一个优雅的方式?
您使用的存储freinds和用户信息的单一模式??? – Ashish 2011-03-04 10:36:35
当然没有。有一个用户和友谊模型 – Alex 2011-03-04 13:36:16
可能的重复[如何在社交网络应用程序的Rails 3中实现友谊模型?](http://stackoverflow.com/questions/5612736/how-to-implement-a-friendship -model式护栏-3-FOR-A-社交网络,applicati) – Tunaki 2016-06-25 17:35:31