目前正在开发Cakephp 2。并经历了以下错误。我们正在升级一个用过程式php编写的旧项目,以使php具有更多的概念。所以我们必须使用现有的数据库,它没有任何蛋糕约定。目前我面临的问题是数据库中有一个名为tranz_vehicle的表。我有一个叫vehicle的模型。php,下面是它的代码
<?php
class Vehicle extends AppModel{
public $useTable="tranz_vehicle";
}
?>
即使在我使用$useTable之后,它仍然显示以下错误
在数据源默认值中未找到模型车辆的表vehicles。
我无法修改表名。。有什么建议吗?我是cakephp的新手
数据库中已经有了表用户,我创建了一个模型用户,它工作得非常好。问题在于其他表,如tranz_vehicle
是您的车型文件名是Vehicle。php或车辆。php?若为小写,则表示您的模型正在动态生成,无法从文件中读取useTable,因为它未使用该文件。还可以显示表主键吗?如果它不是“id”,则必须使用此代码指定它。
public $primaryKey = 'example_id';
不要忘记先清空tmp/cache/models和tmp/cache/persistent。
要强制CakePHP使用其他DB,您基本上有两个选择:
1) 使用表前缀
class Example extends AppModel {
public $tablePrefix = 'alternate_'; // will check 'alternate_examples' table
}
2) 像以前一样使用$useTable
class Exemple extends AppModel {
public $useTable = 'exmp'; // will check 'exmp' table
}