2006-02-17 優しいRailsの育て方 [長年日記]

[Rails] Cascaded Eager Loading が欲しい

从 ’w’)<舞波ね、悩みがあるの

関連レベル1

从 ’w’)<単純な関連なら

groups
id
name
has_many
members
id
group_id
name

从*’w’)<すっごいエレガントなの♪

Group.find(:all, :include=>"members")

関連レベル2

从 ’w’)<関連が1つ深くなると

groups
id
name
has_many
members
id
group_id
name
has_many
favorites
id
member_id
name

从 ;゜w゜)<生SQLに逆戻り!!

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
       _, ,_ 
     从 ’w’) ∩ < ヤダヤダ、もう耐えられないのー!絶対無理〜!
     ⊂   ( 
       ヽ∩ つ  ジタバタ 
         〃〃

ということで

   ___ クゥ〜ン 
  __|___|__ 
   从 ’w’)∩ <この週末、緊急合宿で作ってきます。帰りません、できるまでは。。。
  <  <V> ノ 
   |___:_| 
   (__)_) 


          〜 健全なコードは健全な温泉に宿る 〜


   カコーン 
    o    O     ○。 
 _   。 0     。      ♪いーいゆだな あははん  
 ┻┓∬ ノノハヽ   ノハハヽ       
   |||  从*’w’)人リ’ー’*ル     ♪ ."name" AS t2_r2, 
 ( ̄ ̄ ̄o) ̄ ̄ ̄ ̄ ̄○ ̄ ̄) 
  i ̄○ ̄ i ̄ ̄○ ̄ ̄ ̄o ゜ ̄i  ♪LEFT OUTER JOIN #{reflection.options[:join_table]} ON 
  (__oノ_O__゜__。_ ノ   ____ 
  ))   ((o   o。o))  ○(   [ ∩] 

参考


サイト内検索 (by Google)

| JRuby | Rails | Berryz | ℃-ute | エッグ | jQuery |

過去

2006年
2月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28

未来

コンタクト