gpt4 book ai didi

ruby - 急切地在 Sequel 中加载多对多关联

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:11 24 4
gpt4 key购买 nike

我正在编写一个应用程序,我有两个模型,一个 Post 和一个 Tag 模型。他们有一个多对多的关联。我想在检索帖子时加载帖子的所有标签,这样我就不必多次访问数据库。

模型大致如下(我省略了一些私有(private)细节):

class Post < Sequel::Model
many_to_many :tags
end

class Tag < Sequel::Model
many_to_many :posts
end

我尝试了 Post.eager_graph(:tags)[id],它取得了一些成功,但它只加载了第一个标签并在所有标签列名称前加上前缀 tags_ 而不是将它放入数组或其他东西中。有没有办法让它一次加载所有标签,或者我必须让它们保持单独的查询?

感谢您的帮助!

最佳答案

除非您急切地加载多个帖子,否则在检索帖子时自动加载标签是没有意义的。除非你加入,否则它无论如何都会进行多个查询,而且我猜考虑到 Sequel 拆分 JOIN 结果所需的额外开销时,一个 JOIN 会比两个单独的查询慢。

关于ruby - 急切地在 Sequel 中加载多对多关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15513059/

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