gpt4 book ai didi

ruby-on-rails - Rails .includes 不返回关联

转载 作者:行者123 更新时间:2023-12-04 07:32:56 25 4
gpt4 key购买 nike

我有以下设置:
公司 has_many :locations
位置所属:公司

当我调用 Company.includes(:locations) 时,我得到了返回的公司,但没有关联的位置。

任何想法表示赞赏!

最佳答案

Eager Loading 是必要的,因为它可以优化您的应用程序的性能并防止您的系统遇到 N+1 查询问题。假设您的数据库中有 3000 家公司,那么您的数据库将被 3000+1 个查询淹没。所以在 Controller 中你可以实现它

@companies = Company.includes(:locations)

同样对于单个公司,您可以这样做
@company = Company.includes(:locations).find(params[:id])

现在位置将被急切地加载,您可以将它们作为
@companies.collect{ |company| company.locations }

或者
@company.locations

Note you can use any iterator. I used 'collect' just for the purpose of elaboration. Thanks

关于ruby-on-rails - Rails .includes 不返回关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38621164/

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