gpt4 book ai didi

ruby-on-rails - 通过双层 has_many 关系检索结果集

转载 作者:行者123 更新时间:2023-12-04 18:15:10 24 4
gpt4 key购买 nike

我有三个模型:

  • 用户
  • 文件
  • 下载
  • User has_many Files , File属于 User File has_many Downloads , Download属于 User
    有什么办法可以找回所有的 UserDownloads , 不遍历所有 Files ,然后检索 Downloads与每个文件相关联? (这会产生很多查询)

    编辑

    我找到了一种加载 User 的方法,它是 FilesDownloads只需 3 个查询
    user = User.includes(:uploads => [:downloads]).find(1)

    但是,如果我已经有 User 怎么办?目的?

    如果我只想加载用户下载而不加载他们的上传怎么办? (使用连接)

    编辑
    Download.joins(:upload => :user).where(:users  => { :id => user.id })

    有没有办法直接引用用户表的主键?

    最佳答案

    你有没有尝试过

    class User
    has_many :downloads, :through => :files
    end

    关于ruby-on-rails - 通过双层 has_many 关系检索结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893262/

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