名为“俱乐部”的Cakephp模型根本不起作用!保留关键字?
在Cakephp2.0中,我有一个名为“Club”的模型,我从“ClubsController”访问它。如果我尝试做了$这个 - >俱乐部 - >找到我的控制器内它说:“错误:模型俱乐部数据库表俱乐部没有被发现。”堆栈跟踪具有名为“俱乐部”的Cakephp模型根本不起作用!保留关键字?
.....ClubsController.php(7): Model->find('first', Array)
真正的数据库表所谓的“ClubTable”,我已经在课堂上指定了$useTable = 'ClubTable'
。这让我相信它会自动制作一个名为“Club”的模型,这与我的模型不同。文件夹结构,这样的:
/app/Model/Club.php
/app/Plugin/Admin/Controller/ClubsController.php
现在,这里的踢球,如果我改变我的模型“Club123”的型号,以Club123.php。然后在控制器中,我只需要$this->loadModel('Club123');
即可完美工作,并加载我的模型并连接到我的数据库和表格“ClubTable”。
“俱乐部”以某种方式保留的关键字?
为了进一步混淆问题,当我没有使用插件(在/ app/Controllers文件夹中创建ClubsController)时,它工作正常。总结一下问题:
模型从我的插件内调用时会不能被发现,但模型Club123即可。当不在插件内部时可以找到俱乐部。
任何帮助将不胜感激,因为我拉我的头发。哦,我还删除了/ app/tmp/cache/models /文件夹中的所有文件。
这个问题已经死了好几个月。 CakePHP使用“插件”处理各种环境的能力被证明太过于无用。 CodeIgniter允许我轻松创建嵌套目录并访问常见模型。所以我想我解决这个问题的方法是:切换到CodeIgniter!
请仔细检查您的命名约定。
在文件系统中,所有名称都应该是LOWERCASE,下划线用于分隔单词。
在PHP中,它们应该是CamelCase。
我建议重新阅读this part of the book以确保您知道一切正确。
我发现,安装和使用Cake's Bake console将清理这些各种各样的问题,因为一切都是自动生成的:)
文件名应该是情人案件。为什么不使用Cake Bake功能? –