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 […]
まさに同じことで悩んでました。
ありがとうございます。