gpt4 book ai didi

ruby-on-rails - rails 5.1 : retrieve records for nested association with includes

转载 作者:数据小太阳 更新时间:2023-10-29 07:51:45 25 4
gpt4 key购买 nike

我正在尝试实现 includeshas_many/belongs_to 关联中类似于这个例子:

class Author < ApplicationRecord
has_many :books, -> { includes :line_items }
end

class Book < ApplicationRecord
belongs_to :author
has_many :line_items
end

class LineItem < ApplicationRecord
belongs_to :book
end

当我执行 @author.books 时,我在控制台中看到它加载了 BookLineItem 并显示了 的记录>BookLineItem 没有记录。当我尝试 @author.books.line_items 时出现未定义方法错误。 @author.line_items 也不起作用。

请问如何获取AuthorLineItem 记录?谢谢!

最佳答案

您需要为 Author 添加一个 has_many 关联。

像这样:has_many :line_items, through: :books, source: :line_items

然后,如果您执行 author.line_items,那么您将获得作者的 LineItem 记录。

您使用 includes 的方式方法,允许您通过书籍访问 line_items。像这样:author.books.first.line_items,这段代码不会进入数据库,因为 includes 你在 has_many :books, -> {包括 :line_items 自动加载 line_items

关于ruby-on-rails - rails 5.1 : retrieve records for nested association with includes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45551859/

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