我有一个similar_merchants
模型,我可以存储与其他商家相似的商家。
以下是表格中的字段:
merchant_id
related_merchant_id
在这种情况下如何编写关系?
这就是我现在所拥有的:
class SimilarMerchant < ActiveRecord::Base
# relationships
belongs_to :merchant
belongs_to :merchant, :foreign_key => 'related_merchant_id'
end
答案 0 :(得分:3)
class SimilarMerchant < ActiveRecord::Base
# relationships
belongs_to :merchant
belongs_to :related_merchant, :foreign_key => 'related_merchant_id', :class_name => "Merchant"
end
这样做。你可以这样打电话:
similar_merchant = SimilarMerchant.find(1)
similar_merchant.merchant
=> # Merchant record
similar_merchant.related_merchant
=> # Related Merchant record
答案 1 :(得分:0)
这应该足够了:
class SimilarMerchant < ActiveRecord::Base
set_primary_key 'merchant_id'
belongs_to :merchant, :foreign_key => 'related_merchant_id'
end
根据文档,foreign_key被猜测为关联的名称加上'_id'后缀。