我正忙着为我的客户升级网站。这是我第一次使用CakePHP而且遇到了问题。
我在数据库中创建了一个名为banners
的表,我制作了以下文件:
Model/Banner.php
Controllers/BannersController.php
View/Banners/admin_index.ctp
好像我的控制器无法找到模型。每当我尝试加载页面admin_index.ctp
时,我都会收到以下消息:Error: An Internal Error Has Occurred.
如果我替换我的公开admin_index()
的内容并使其回显文本,它确实有效。
我还尝试通过执行此操作向我的admin_index.ctp
添加表单
echo $this->Form->create('Banner');
这给了我另一个Error: An Internal Error Has Occurred.
我已经设置了我的模型,控制器,视图和数据库,正如其他人设置的帖子,页面等,我似乎无法让它工作。有没有人知道如何解决这个问题?
亲切的问候,
尼克
<?php
class Banner extends AppModel {
}
?>
<?php
class BannersController extends AppController {
public $helpers = array('Html', 'Form');
public function admin_index(){
$banners = $this->Banner->find('all');
$this->set('banners', $banners);
}
?>
Stack Trace:
#0 /srv/nkuchiki/www/www.kuchiki.nl/app/webroot/index.php(111): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#1 {main}
2015-04-10 17:29:43 Error: [MissingTableException] Table banners for model Banner was not found in datasource default.
Exception Attributes: array (
'table' => 'banners',
'class' => 'Banner',
'ds' => 'default',
)
Request URL: /admin/banners
Stack Trace:
#0 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Model/Model.php(3501): Model->setSource('banners')
#1 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Model/Model.php(2905): Model->getDataSource()
#2 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Model/Model.php(2877): Model->_readDataSource('all', Array)
#3 /srv/nkuchiki/www/www.kuchiki.nl/app/Controller/BannersController.php(7): Model->find('all')
#4 [internal function]: BannersController->admin_index()
#5 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Controller/Controller.php(490): ReflectionMethod->invokeArgs(Object(BannersController), Array)
#6 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Routing/Dispatcher.php(191): Controller->invokeAction(Object(CakeRequest))
#7 /srv/nkuchiki/www/www.kuchiki.nl/lib/Cake/Routing/Dispatcher.php(165): Dispatcher->_invoke(Object(BannersController), Object(CakeRequest))
#8 /srv/nkuchiki/www/www.kuchiki.nl/app/webroot/index.php(111): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#9 {main}
答案 0 :(得分:2)
感谢所有人的建议。根据扩展的错误消息,我在google上做了一些研究,并在stackoverflow上找到了一些其他线程。
我删除了tmp / cache / models和tmp / cache / persistent中的文件,问题解决了: - )。
当一切似乎都正确编程时,很难找到问题。