CakePHP を学ぼうとして、問題なくブログ チュートリアルを完了しました。ブラウザに Cake のウェルカム ページが表示され、データベース接続ファイルが見つかり、Cake がデータベースに正常に接続されます。私が別の方法で行った唯一のことは、phpMyAdmin を使用してposts
名前付きのデータベースにテーブルを作成したdefault,
ことですが、内容はすべてチュートリアルと同じです。なぜ私は得るのですか
エラー: モデル Post のテーブル ポストがデータソース デフォルトで見つかりませんでした。
ブログのチュートリアルで - レイヤーを追加しますか? これはモデルです:
<?php
class Post extends AppModel {
}
これはコントローラーです:
<?php
class PostsController extends AppController {
public $helpers = array('Html', 'Form');
public function index() {
$this->set('posts', $this->Post->find('all'));
}
}
これはビューです:
<!-- File: /app/View/Posts/index.ctp -->
<h1>Blog posts</h1>
<table>
<tr>
<th>Id</th>
<th>Title</th>
<th>Created</th>
</tr>
<?php foreach ($posts as $post): ?>
<tr>
<td><?php echo $post['Post']['id']; ?></td>
<td>
<?php echo $this->Html->link($post['Post']['title'],
array('controller' => 'posts', 'action' => 'view', $post['Post']['id'])); ?>
</td>
<td><?php echo $post['Post']['created']; ?></td>
</tr>
<?php endforeach; ?>
<?php unset($post); ?>
</table>
これがスタック トレースです。
CORE\Cake\Model\Model.php line 3243 → Model->setSource(string)
CORE\Cake\Model\Model.php line 2696 → Model->getDataSource()
APP\Controller\PostsController.php line 5 → Model->find(string)
[internal function] → PostsController->index()
CORE\Cake\Controller\Controller.php line 486 → ReflectionMethod->invokeArgs(PostsController, array)
CORE\Cake\Routing\Dispatcher.php line 187 → Controller->invokeAction(CakeRequest)
CORE\Cake\Routing\Dispatcher.php line 162 → Dispatcher->_invoke(PostsController, CakeRequest, CakeResponse)
APP\webroot\index.php line 111 → Dispatcher->dispatch(CakeRequest, CakeResponse)