gpt4 book ai didi

foreign-keys - Mongoid own_to 指定foreign_key

转载 作者:行者123 更新时间:2023-12-01 18:40:08 25 4
gpt4 key购买 nike

我想在两个 Mongoid 模型之间使用 has_many 和 Belongs_to 建立关系并指定外键,如下所示:

class Author
include Mongoid::Document

field :serial_num, :type => Integer
field :author_name, :type => String

has_many :books
end

class Book
include Mongoid::Document

field :serial_num, :type => Integer
field :book_name, :type => String

belongs_to :author, foreign_key: 'serial_num'
end

但是,这不起作用。我的 IRB 输出:

irb :001> b = Book.first
=> #<Book _id: 1, serial_num: "12345", book_name: 'something', author_id: nil>
irb :002> b.author
=> nil

是否可以指定“serial_num”作为此关系的外键,还是我只能使用author_id?

非常感谢。

最佳答案

您需要根据字段定义设置 foreign_keyprimary_key。您提供的代码确实尊重 primary_key 但作者在 _id 中查找此值,而不是在 serial_num 中查找。请参阅the documentation了解更多详细信息和示例。

  belongs_to :author, foreign_key: 'serial_num', primary_key: 'serial_num'

关于foreign-keys - Mongoid own_to 指定foreign_key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com