[前][次][番号順一覧][スレッド一覧]

rails:2337

From: "OHGUSHI KAZUYUKI" <kazuyuki.ohgushi@g...>
Date: Fri, 24 Aug 2007 16:22:24 +0900
Subject: [rails:2337] Re: 再参加します & has_many :through に関して

松田さん

返信ありがとうございました.無事解決できました.

「舞波本」素晴らしいですね

ActiveRecordにもさまざまな機能があったり追加されたり
しているのをうまくトラックする方法を模索していますが

皆さんはどのように情報収集されていますか?
ソースを追うのもひとつの方法でしょうが,誰しもが
Rails本業で活動しているわけではないでしょうし

On 8/24/07, 松田 明 <ronnie@d...> wrote:
> 松田と申します。
>
> この件、誰も回答しないようなので。
> :includeは、配列やハッシュのリテラルを使って
> いくらでもネストすることができます。
>
> 今回の例だと以下のような記述になるかと思いますが、
> books = Book.find(:all, :include => [:authors => :author_groups])
>
> 更に、例えば AuthorGroupから他テーブル AuthorGroupTypeに結合する場合は
> 最近話題のハッシュを使って、以下のように書けるはずです。
> books = Book.find(:all, :include => [:authors => {:author_groups =>
> :author_group_type}])
>
> そういえばこのあたりの機能ってあまりドキュメント等を
> 見かけないですね。
> 軽くぐぐってみたらこんな感じのサイトが出てきました。
>
> The beauty of a nested ':include' option
> http://snippets.dzone.com/posts/show/2089
>
> それから、手元の舞波本だと104ページあたりに
> 「:includeの入れ子」というバッチリな章がありました。
> さすがですね。
>
> --
> 松田 明 <ronnie@d...>
>
>
> OHGUSHI KAZUYUKI さんは書きました:
> > 一度外れたのですが社内ツールとしてちょっと使うことになりまして・・・
> > よろしくお願いします
> >
> > 早速ですが
> >
> > Book
> >  has_many :authors, :through => :book_has_authors
> >  has_many :book_has_authors
> >
> > Author
> >  has_many :books, :through => :book_has_authors
> >  has_many :book_has_authors
> >  belongs_to :author_group
> >
> > BookHasAuthor
> >  belongs_to :books
> >  belongs_to :authors
> >
> > AutorGroup
> >  has_many :authors
> >
> > のようなクラスとリレーションを設定した際に
> >
> > books = Book.find(XXXX)
> > for book in books
> >  authors = book.authors
> >  for author in authors
> >   p author.author_group
> >  end
> > end
> >
> > とDBからデータを引き出す場合には
> >
> > books = Book.find(:all)
> > よりも
> > books = Book.find(:all, :include => [:authors])
> > としたほうがDBアクセスの数が減ると思うのですが
> > author.author_group
> > の際にまたDBにアクセスせずにすむ方法はありますか?
> > :join あたりを使うと出来るような気はするのですが
>
>
> --
> ML: rails@r...
> 使い方: http://QuickML.com/
>


-- 
大串 和之
Kazuyuki Ohgushi

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      2335 2007-08-24 03:19 [kazuyuki.ohgushi@g..] 再参加します & has_many :through に関して
      2336 2007-08-24 05:04 ┗[ronnie@d...         ]                                       
->    2337 2007-08-24 09:22  ┗[kazuyuki.ohgushi@g..]