ActiveRecordのincludesメソッド
0pt
Parentモデルにbelongs_toしてるChildモデルがあったとして
Child.where(cond).limit(10).each{|hoge|hoge.parent}
とすると
SELECT * FROM `parents` where... limit 1
みたいなSQLが10回実行されてしまう。
これにincludeを使って
Child.where(cond).limit(10).includes(:parent)each{|hoge|hoge.parent}
とするだけで
SELECT * FROM `parents` WHERE `parents`.`id` IN ([親のidコンマ区切り])
という1つのSQLに集約される
「ActiveRecordのincludesメソッド」について友人に書いてもらう。
コメントはまだありません