CakePHP で DB データを表示するシンプルな例!モデルなしで勉強です! | oki2a24 の続きとなります。
わかりました!
前回、View フォルダ内に作るフォルダ名が単数形でないとエラーとなる不思議現象が発生しましたが、原因がわかりました!
まとめ
- コントローラーファイルの public $name には複数形を指定します。
- つまり、public $name にはコントローラー名が入り、コントローラー名とは、複数形です。
- ちなみに、モデル名は単数形、ビューのフォルダ名は複数形です。
前回ソースの修正版
cake/sample/app/Controller/BoardsController.php
<?php class BoardsController extends AppController { public $name = 'Boards'; public function index() { $data = $this->Board->find('all'); $this->set('data', $data); } } ?>
public $name = ‘Boards‘; と複数形にしました。
cake/sample/app/View/Boards/index.ctp
<h1>送信フォーム・サンプル</h1> <table> <?php for($i = 0; $i < count($data); $i++) { echo $this->Html->tableCells($data[$i]['Board'], array(), array(), true); } ?> </table> <br /> <br /> <br /> <pre> <?php print_r($data); ?> </pre>
View 内のフォルダ名を Boards と複数形にしています。こちらのソース自体には変更点はありません。
おわりに
今回気づいたことは、後々大きな財産となると思います。こうしたちょっとしたことのはっきりとした認識が、自分自身を助けてくれたこと、何度もありましたから!
「CakePHP2 の View 内のフォルダ名が規約違反でも通ってしまう問題を解決しました!」への3件の返信
[…] 投稿ナビゲーション ← 前へ […]
[…] →解決しました!CakePHP の View 内のフォルダ名が規約違反でも通ってしまう問題を解決しました! | oki2a24 […]
まさに同じことで悩んでました。
ありがとうございます。