私は3つのモデルを持っています:
- ユーザー
- ファイル
- ダウンロード
Userhas_many Files, Filebelongs_toUser
Filehas_many Downloads, Downloadbelongs_toUser
allを反復処理せずにすべての a を取得してから、各ファイルに関連付けられている を取得する方法はありUserますか? (これにより、多くのクエリが生成されます)DownloadsFilesDownloads
編集
をロードする方法を見つけましたUser, it's FilesandDownloadsわずか3クエリで
user = User.includes(:uploads => [:downloads]).find(1)
Userしかし、既にオブジェクトを持っている場合はどうなるでしょうか?
また、ユーザーのアップロードをロードせずに、ユーザーのダウンロードをロードしたい場合はどうすればよいでしょうか? (結合を使用)
編集
Download.joins(:upload => :user).where(:users => { :id => user.id })
users テーブルの主キーを直接参照してこれを行う方法はありますか?