CakePHP初心者です。
以下のようなコードがうまく表示されません。
アドバイス頂けますでしょうか。
以下のコード多くのアクションを省略しておりますが、カテゴリー、アーティスト、CDアルバム、CDアルバムの感想を表示するようなシステムを想定しております。
以下のビューの$selectedCds[$i]['Cd']['cd_name']の部分は正常に表示されています。
<td><?php $this->Html->link($selectedCdImpressions[$i], array('controller' => 'artists' , 'action' => 'showImpressions')); ?></td> の部分が上手く表示されません。 なぜなのかわかりません。Htmlヘルパー外で
for($i = 1; $i <= 5; $i ++) {
echo $selectedCdImpressions[$i];
}
などとすれば表示されます。
正常にHtmlヘルパー内で表示する方法をご教示頂けますでしょうか。
//app/Controller/ArtistController
<?php class ArtistsController extends AppController { public $scaffold; public $uses = array('Artist','Category' , 'Impression' , 'Cd'); public function showDetail() { //別のアクションから渡してきたURL末尾のパラメータを取得しています $selectedArtistId = $this->request->pass[0]; $options1 = array( 'conditions' => array( 'Cd.artist_id' => $selectedArtistId ) ); $selectedCds = $this->Cd->find('all' , $options1); $selectedCdImpressions = array(); for($i = 0; $i <= count($selectedCds); $i ++) { $options2 = array( 'conditions' => array( 'Impression.cd_id' => $selectedCds[$i]['Cd']['cd_id'] ) ); ${"selectedCdImpressions" . $i} = $this->Impression->find('count' , $options2); array_push($selectedCdImpressions , ${"selectedCdImpressions" . $i}); $this->set('selectedCds' , $selectedCds); } $this->set('selectedCdImpressions' , $selectedCdImpressions); $this->render('showDetail'); } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //app/View/Artist/show_detail.ctp <h2>ディスコグラフィー</h2> <table> <tr> <th>アルバム名</th> <th>投稿数</th> </tr> for($i = 0; $i <= count($selectedCds); $i ++) { ?></table><?php echo $selectedCdImpressions[$i]; ?> <tr> <td><?php echo $selectedCds[$i]['Cd']['cd_name']; ?></td> **<td><?php $this->Html->link($selectedCdImpressions[$i], array('controller' => 'artists' , 'action' => 'showImpressions')); ?></td>** </tr> <?php } ?>
回答1件
あなたの回答
tips
プレビュー