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..]