我在创建两个表之间的关系时遇到问题,产品和收藏夹之间的表结构,
表产品包括id,name,code,sub_code,size。收藏夹表由id,code,sub_code,user_id组成。
为什么我没有使用id作为关联的问题是,当有新产品时,整个产品表将被截断并且将导入新的产品列表。因此,使用id作为关联将无法正常工作。
有没有办法如何使用代码和sub_code作为关系在这些表之间建立关联?
感谢
答案 0 :(得分:0)
请参阅:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to 你可以这样做:
belongs_to :product, ->(){where("products.sub_code=favorites.sub_code")}, foreign_key: :code, primary_key: :code
不要忘记将索引添加到您正在构建关系的所有字段中。