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