する方法をメモとして残しておきます。例として以下のモデルを使用します。備品(Equipment)※リレーションは各モデルに記載する必要があります。内部結合joinsを使用することで内部結合します。結合先のデータが不要な場合はjoinsだけでよいが、eager_loadと組み合わせることで結合先のモデルを一括で取得してくれます。eager_loadをincludesに変更しても同じ挙動をします。外部結合eager_loadを使用することで外部結合します。eager_loadにより結合先の対象モデル(ここでいうOffice)を一括で取得するため、ループ時のN+1問題を解消することができます。eager_loadデータ一括で取得しないと、結合先のモデルにアクセスする度にSQLが発行されるため、データ量が多いと落ちる可能性があります。query.with_inner_offices孫テーブルまで結合したい場合は以下の通りです。}endひ孫テーブルまで結合したい場合は以下の通りです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。