我有三个模型:
- 用户
- 文件
- 下载
User
has_many Files
,File
属于_toUser
File
has_many Downloads
,Download
属于_toUser
有没有办法检索所有 a User
,Downloads
而不遍历 all Files
,然后检索Downloads
与每个文件关联的?(这会产生很多查询)
编辑
我找到了一种加载 的方法,User
它只是 3 个查询Files
Downloads
user = User.includes(:uploads => [:downloads]).find(1)
但是,如果我已经有一个User
对象怎么办?
如果我只想加载用户下载而不加载他们的上传怎么办?(使用连接)
编辑
Download.joins(:upload => :user).where(:users => { :id => user.id })
有没有办法直接引用用户表的主键?