致命错误:无法重新声明类NewsModel

moh*_*nag 2 cakephp cakephp-2.4

这个问题有点奇怪,我在2天之后和它一起战斗,之前我把它作为一个bug发布,只是想确保这不是我的错误.

我有一个干净的CakePHP副本,我有一个设置的数据库,Cake可以连接到我的数据库没有问题.在我的数据库中,我有一个名为"news"的表,我有一个带有以下代码的控制器:

<?php

class UsersController extends AppController {
    public $uses = array('News');

    public function news(){
        $news = $this->News->find('all');
        var_dump($news);
        die;
    }
}
Run Code Online (Sandbox Code Playgroud)

只要我不为我的表创建模型文件,此查询就会成功运行,但只要我创建以下模型文件(另存为模型文件夹中的News.php),我就会看到代码后面的错误:

<?php

class NewsModel extends AppModel {
}
Run Code Online (Sandbox Code Playgroud)

错误:

Fatal error: Cannot redeclare class NewsModel in C:\...\cakephp\app\Model\News.php on line 4
Run Code Online (Sandbox Code Playgroud)

我在Windows上运行php> 5.2.8

Nun*_*ser 6

那么,课程应该是"新闻",没有模型部分.

class News extends AppModel { }
Run Code Online (Sandbox Code Playgroud)

文档展示了各地的例子.可能会有混乱,因为"新闻"控制器被调用NewsController和新闻组件,NewsComponent但从我在这里得到的答案,它是为了避免名称冲突(这给你一个在你阅读之后的时刻).

对于未来的开发,我发现只需烘焙模型/控制器/视图然后删除我不需要的内容并更改我需要更改的内容.