0
我有以下表定製包括在軌協會
用戶
USER_ID,名字,姓氏
關係
USER_ID,spouse_id
我想運行下面的查詢person = Relationships.includes(:person).where(:name =>'David')
但我不希望相關人員被user_id關聯。我寧願它只與這個特定的查詢關聯,只有spouse_id
我有以下表定製包括在軌協會
用戶
USER_ID,名字,姓氏
關係
USER_ID,spouse_id
我想運行下面的查詢person = Relationships.includes(:person).where(:name =>'David')
但我不希望相關人員被user_id關聯。我寧願它只與這個特定的查詢關聯,只有spouse_id
Rails完全允許多個關聯到同一個表,只要他們使用不同的外鍵。
在這種情況下,你有這樣的事情:然後
class User
has_many :relationships
has_many :spouses, class_name: "Relationship", foreign_key: :spouse_id
end
User.first.spouses將所有的關係,其中用戶的ID存在於spouse_id領域的集合。
看看這個[示例](http://railscasts.com/episodes/163-self-referential-association?view=asciicast) – lusketeer
你可以提供模型名稱,因爲我可以看到有一些缺失,在這裏你定義了用戶,關係人怎麼樣?你有用戶和人2模型? – Arvind