- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cakephpのアソシエーションについて)
cakephpのアソシエーションについて
このQ&Aのポイント
- cakephpのアソシエーションについて勉強中です。初心者なのでぜひ教えていただきたいのですが、[Profile]と[Image]というテーブルがあり、ProfileについてImagesとのアソシエーションがhasmanyなのですが、コントローラーで$datas = $this->Profile->find("all"); $this->set("datas",$datas);とした場合、view側でProfileのデータもImageのデータも表示されるにはどうしたらよいのでしょうか。
- 現在、cakephpのアソシエーションについて勉強中です。初心者なので、[Profile]と[Image]というテーブルについて教えていただけないでしょうか?具体的には、ProfileテーブルとImageテーブルの間にはhasmanyのアソシエーションがあります。コントローラーで$datas = $this->Profile->find("all"); $this->set("datas",$datas);とすると、view側でProfileとImageのデータを表示する方法を知りたいです。
- cakephpのアソシエーションについて学習中ですが、初心者のため分からない点があります。具体的には、[Profile]と[Image]というテーブルがあり、ProfileとImagesのアソシエーションがhasmanyです。コントローラーで$datas = $this->Profile->find("all"); $this->set("datas",$datas);としていますが、view側でProfileのデータとImageのデータを表示する方法を教えていただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
hasMany で取得されるデータ配列は、hasOneやbelongsTo とは異なります。 debug モードにして debug($datas) で表示してみられるとよいと思いますが以下の形式です array( [0] = array( [findしたmodel名] = array( /* 各カラム値 */ ), [hasMany連携model名] = array( [0] = array( /* 各カラム値 */ ), [1] = array( /* 各カラム値 */ ) ) ), [1] = array( /* 2行目データ */ ) ) 現モデルの1行ごとに、hasMany連携先モデルの複数行データが入ってるので、$data['Image'][0]['id'] のようになります。 マニュアルも参照(とりあえず、1.3 用解説、ここら辺の動作はversionでの違いはない) http://book.cakephp.org/1.3/ja/view/1043/hasMany
お礼
丁寧で分かりやすい回答ありがとうございます!!きちんとデータが表示されました!!これからもがんばって勉強します。