• ベストアンサー
※ 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のデータを表示する方法を教えていただけませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.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

noname#151188
質問者

お礼

丁寧で分かりやすい回答ありがとうございます!!きちんとデータが表示されました!!これからもがんばって勉強します。