皆さんお疲れ様です。
先ほどこちらの質問をさせていただいた者です。
foreachの中でtableを回すとき、そのtable内のstatusの値の表示を変更したい。
一先ず、ちゃんと表示できてよかったと安堵していたのですが、このforeachの文を書くのをviewのindex.ctpの方に書いており、変数などはcontrollerの方に書き直したいと考えています。(この改善案で合っているのか正直わかりません。)
現在、controllerの方には
lang
1<?php 2 public function index() { 3 $this->set('collection', $this->Report->find('count')); 4 $timeline = $this->Report->find('all', array('order' => array('created' => 'DESC'))); 5 $this->set('res', $timeline); 6 }
こう書いておりまして、
index.ctpには
lang
1 <table summary="一覧" border="1"> 2 <tr><th>A</th><th>B</th><th>C</th><th>D</th></tr> 3 <?php 4 foreach($res as $doc) { 5 $id = $doc["Report"]["id"]; 6 7 if($doc["Report"]["status"] == 0){ 8 $status = "未処理"; 9 }else if($doc["Report"]["status"] == 1){ 10 $status = "処理済み"; 11 } 12 13 $modified = $doc["Report"]["modified"]->toDateTime()->format('Y-m-d H:i:s'); 14 $created = $doc["Report"]["created"]->toDateTime()->format('Y-m-d H:i:s'); 15 16 echo "<tr id='$id'> 17 <td>$status</td> 18 <td><a href='../details/index?id=$id'>$id</a></td> 19 <td>$modified</td> 20 <td>$created</td> 21 </tr>\n"; 22 } 23 ?> 24 </table>
と、このように書いています。
途中で、$modifiedや$createdなど、変数を定めているのが、セキュリティ的によくないと指摘を受けた?(なぜだめかあんまりわかっていない)ので表示は変わらずにcontrollerの方にうまく書きたいと思っています。
ただforeachのところで$res as $docなどの記述がしているところがあるため、どうcontrollerに書けばよいか困っています。
ご助力お願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。