【PHP】フレームワーク CakePHP 13ホール目【v2.0】at PHP【PHP】フレームワーク CakePHP 13ホール目【v2.0】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト23:nobodyさん 11/11/10 18:06:18.89 >>21 俺の出した例は大きく分けて2パターンの利用方法がある。 A:特定会員のコンテンツを取得 B:コンテンツ内のデータ(そのデータにユーザモデルをJOIN) この場合、モデルにすべて書くと再帰的に複雑になるだろ? AはUser→Diary、BはDiary→User Aでfindした時、User→Diary→Userみたいになってエラーになる可能性がある。 だから、必要な時だけbidModelを使ってその都度足していけばいい って考え方なんだけど、何か間違ってるかな? 24:nobodyさん 11/11/10 20:46:02.54 >>23 A: $this->User->id = $id; $this->User->contain(array('Diary' => array('Article'))); $data = $this->User->read(); (Articleはおまけで付けた) B: $data = $this->Diary->find('all', array('contain' => array('User'))); いずれにしろ再帰はしない。bidModel書くのが手間ではないならそれでもいいと思うが。 25:nobodyさん 11/11/10 23:20:49.30 >>22 findのjoinsオプション使うと明示的にJOINできるよ デフォルトだとクエリ多発するのは確かにそうだね でもhasManyのときはJOINにコストが結構かかるから、この仕様のほうが効率いいことが多いとかそんな話を聞いたことはある。 眉唾で聞いてたけど。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch