名为“Club”的Cakephp模型根本不起作用!保留关键字?

时间:2011-09-02 19:45:46

标签: cakephp model

在Cakephp2.0中我有一个名为“Club”的模型,我从“ClubsController”访问它。如果我尝试在我的控制器中执行$ this-> Club->查找,则会显示“错误:未找到模型俱乐部的数据库表俱乐部。”堆栈跟踪已

.....ClubsController.php(7): Model->find('first', Array)

真正的数据库表名为“ClubTable”,我在类$useTable = 'ClubTable'中指定了该表。这让我相信它会自动制作一个名为“Club”的模型,这与我的模型不同。文件夹结构如下:

/app/Model/Club.php
/app/Plugin/Admin/Controller/ClubsController.php

现在这里是踢球者,如果我将我的模型更改为Club123.php,型号名称为“Club123”。然后在控制器中我只做$this->loadModel('Club123');它完美地工作并加载我的模型并连接到我的数据库和表“ClubTable”。

“俱乐部”是某种保留关键字吗?

为了进一步混淆问题,当我不使用插件(在/ app / Controllers文件夹中创建一个ClubsController)时,它可以正常工作。总结一下这个问题:

从我的插件内部调用时找不到模型俱乐部,但模型 Club123 可以。不在插件内时可以找到 Club 模型。

任何帮助都会非常感激,因为我正在拔头发。哦,我还删除了/ app / tmp / cache / models /文件夹中的所有文件。

2 个答案:

答案 0 :(得分:0)

仔细检查您的命名约定。

在文件系统中,所有名称都应该是LOWERCASE,下划线用于分隔单词。

在PHP中,它们应该是CamelCase。

我建议重新阅读this part of the book以确保您完全了解所有内容。

我发现设置和使用Cake's Bake console会清除这些问题,因为一切都是自动生成的:)

答案 1 :(得分:-1)

这个问题已经死了好几个月了。 CakePHP使用“插件”处理各种环境的能力证明太不合适了。 CodeIgniter允许我轻松创建嵌套目录并访问常用模型。所以我想我解决这个问题的方法是:切换到CodeIgniter!