我发现这个类似的问题,但我的问题是不同的。
我动了我的CakePHP的2.2应用到另一台服务器。 存在迁移之前没有问题。 大部分的东西迁移后工作正常。 我能达到我的大部分数据库表等,但是当我试图达到我的表之一,我得到这个错误:
"Error 500: Table stats for model Stat was not found in datasource default."
为了解决这个问题,我检查这个文件夹:“/应用程序的/ tmp /缓存/模型”
在该文件夹中有我的每个表的文件
- myapp_cake_model_default_mydatabase_table1
- myapp_cake_model_default_mydatabase_table2
- myapp_cake_model_default_mydatabase_table3等。
但对于统计数据表中没有任何文件。 它可以是问题吗? 或者,我该怎么解决这个问题?
(许可 “/应用程序的/ tmp /缓存/模型” 文件夹755)
在database.php中我有这样的:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'myuser',
'password' => 'mypass',
'database' => 'mydatabase',
'prefix' => '',
'encoding' => 'utf8',
);
编辑:
正如我在thaJeztah的答案的评论中指出,删除里面的所有文件后, app/tmp/cache/persistent
问题就迎刃而解了。 CakePHP的创建新模型缓存文件和它的工作。 一年以后,我发现了真正的问题。 问题是设置蛋糕模型文件明确的时间。 我设置清除缓存到999天,所以模型文件不会再生。 虽然制作模型的改变,你可以设置为模型缓存明确较低值:
Cache::config('_cake_model_', array(
'engine' => "File",
'prefix' => "myapp_". 'cake_model_',
'path' => CACHE . 'models' . DS,
'serialize' => ($engine === 'File'),
'duration' => "+999 days"
));