如何创建自引用关联表Rails迁移

时间:2019-06-16 10:09:22

标签: ruby-on-rails rails-activerecord rails-migrations

说我有一张表products,并希望为每种产品维护similar_products

3 个答案:

答案 0 :(得分:1)

这是自引用表的迁移。

create_table :similar_products, id: false do |t|
      t.references :product, foreign_key: true, null: false
      t.references :similar_product, foreign_key: { to_table: :similar_products }
    end

答案 1 :(得分:1)

re

根据要查询的方向确定索引的正确与否,如果仅使用一个方向,则只能在join类中的关联中保持一个方向。 / p>

答案 2 :(得分:1)

您可以尝试以下方法:

meta key only and only 3 times

迁移可以添加为:

class Product < ActiveRecord::Base
   belongs_to :product, :class_name => 'Product'
   has_many :similar_products, :class_name => 'Product', :foreign_key => 'parent_id'
end