我有下表
用户
user_id,name,last_name
关系
user_id,spouse_id
我想运行以下查询人= Relationships.includes(:person).where(:name =>' David')
但我不希望相关人员通过user_id关联。我希望它仅由spouse_id与此特定查询相关联
答案 0 :(得分:2)
Rails非常满足于允许多个关联到同一个表,只要它们使用不同的外键。
在这种情况下,你会有这样的事情:
class User
has_many :relationships
has_many :spouses, class_name: "Relationship", foreign_key: :spouse_id
end
然后,User.first.spouses将是spouse_id字段中存在用户ID的所有关系的集合。