自定义名称和外键引用
Reference with custom name and foreign key
我在 Rails 5 并且有一个 User
模型。
我想创建一个 Book
模型,引用名称为 author
的 User
模型。我也想在迁移中设置外键。
在搜索答案时,我只找到了如何在迁移中 添加 列,而不是创建新的 table。 create_table :books
的下图如何?
add_reference :books, :author, references: :users, index: true
add_foreign_key :books, :users, column: :author_id
你可以使用
author_id:integer
然后在你的用户模型中:
has_many :books, foreign_key: :author_id, class_name: "Book", dependent: :nullify
我使用 dependent::nullify 来避免删除记录时的错误,但如果您需要在销毁用户时销毁书籍,则可以使用 dependent::destroy。
和图书型号:
belongs_to :user, foreign_key: :author_id, class_name: 'User'
您应该在此列上添加索引。
我在 Rails 5 并且有一个 User
模型。
我想创建一个 Book
模型,引用名称为 author
的 User
模型。我也想在迁移中设置外键。
在搜索答案时,我只找到了如何在迁移中 添加 列,而不是创建新的 table。 create_table :books
的下图如何?
add_reference :books, :author, references: :users, index: true
add_foreign_key :books, :users, column: :author_id
你可以使用 author_id:integer
然后在你的用户模型中:
has_many :books, foreign_key: :author_id, class_name: "Book", dependent: :nullify
我使用 dependent::nullify 来避免删除记录时的错误,但如果您需要在销毁用户时销毁书籍,则可以使用 dependent::destroy。
和图书型号:
belongs_to :user, foreign_key: :author_id, class_name: 'User'
您应该在此列上添加索引。