Railsでテーブルをまたいだ関連を扱うには

by tanabe on February 23, 2006

舞波乙!ってことで。本題終わり。

でもそれじゃあんまりなので、くまくまーの人の作った便利なパッチのご紹介。

まずこれを読む。
Cascaded Eager Loading が欲しい

で、これを読む。
Cascaded Eager Loading

ってことで、ActiveRecordでテーブルの参照のそのまた参照みたいなケースを簡単に表現できますよってパッチです。

これ

Group.find_by_sql(<<-SQL)
  SELECT     *
  FROM       groups
  LEFT JOIN  members   ON members.group_id    = groups.id  LEFT JOIN  favorites ON favorites.member_id = members.id
SQL

こうなる

Group.find(:all, :include=>[{:members=>:favorites}, :songs])

パッチは、「Cascaded Eager Loading」の下の方にあります。

で、寂しくて死なれてしまっては困るという人は舞波乙!と言うといいらしいです。