【发布时间】:2011-09-02 19:45:46
【问题描述】:
在 Cakephp2.0 中,我有一个名为“Club”的模型,我从“ClubsController”访问它。如果我尝试在我的控制器中执行 $this->Club->find,它会显示“错误:找不到模型 Club 的数据库表 clubs。”堆栈跟踪有
.....ClubsController.php(7): Model->find('first', Array)
真正的数据库表称为“ClubTable”,我在$useTable = 'ClubTable' 的类中指定了它。这让我相信它会自动制作一个名为“俱乐部”的模型,这与我的模型不同。文件夹结构如下:
/app/Model/Club.php
/app/Plugin/Admin/Controller/ClubsController.php
如果我将模型更改为 Club123.php,模型名称为“Club123”,那么这就是关键所在。然后在控制器中,我只需执行$this->loadModel('Club123'); 即可完美运行并加载我的模型并连接到我的数据库和表“ClubTable”。
“俱乐部”在某种程度上是保留关键字吗?
为了进一步混淆这个问题,当我不使用插件时它可以正常工作(在 /app/Controllers 文件夹中创建一个 ClubsController)。总结问题:
从我的插件内部调用时找不到模型 Club,但模型 Club123 可以。模型 Club 不在插件内时可以找到。
在我拔头发时,任何帮助将不胜感激。哦,我也删除了/app/tmp/cache/models/文件夹下的所有文件。
【问题讨论】:
-
文件名应该是情人大小写。你为什么不使用蛋糕烘焙功能?