【PHP】フレームワー ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
137:nobodyさん 07/12/19 19:37:24 nmvrwuDT recursiveが2以上のアソシエーションを動的に変更する方法がよくわからない。 例えば blog ってテーブルがhasManyで post ってテーブル持ってて、そのまたさらにhasManyで comment ってテーブルを持ってたとする。 普段はそれぞれは一覧で表示したいのでlimitを10くらいに設定してるんだけど、 ブログの一覧からpostとそれに紐付くcommentを全て取得する際に $this->Blog->findAll(); でコメントだけはlimitを3にしたい。 $this->Post->hasMany['Comment']['limit'] = 3; $this->Post->bindModel(array('hasMany' => array('Comment' => array('limit' => 3)))); とか試したけど、もう無理。 何か間違ってる? 138:nobodyさん 07/12/20 02:56:46 出来ないこともないが、 テーブル名を複数形にしない時点で 自分で調べてなさすぎ感が伝わってきて アドバイスしたい気持ちになれない。 139:1/3 07/12/20 04:06:27 XdoaO407 調べてないつもりではないんだけど、確かに情報を小出しにしてるこちらが悪かった。 ごめんなさい。 誤解を生まないようにもう一度説明すると、 blogs テーブルはBlogモデルの中で var $hasMany = array('Post' => array('classname' => 'Post', 'limit' => 10)); postsテーブルではPostモデルで var $hasMany = array('Comment' => array('classname' => 'Comment', 'limit' => 10)); そいで最後に commentテーブルがCommentモデルでそれぞれ定義されてたとして。 普通はコントローラーで最初に var $uses = array('Blog', 'Post', 'Comment'); ってやっておいて、 $blogs = $this->Blog->findAll(null,null,null,null,null, $recursive = 2); でそれぞれ count($blogs['Posts']);// が10件 count($blogs['Posts']['Comments']);// が10件 入るよね。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5250日前に更新/35 KB
担当:undef