目前正在使用Cakephp 2.x并遇到以下错误。我们正在升级一个旧的项目,它是用程序性的php编写的,用更多的概念来编写php。所以我们必须使用没有任何蛋糕约定的现有数据库。目前我面临的问题是数据库中有一个名为tranz_vehicle的表。我有一个名为vehicle.php的模型,以下是它的代码
<?php
class Vehicle extends AppModel{
public $useTable="tranz_vehicle";
}
?>
即使我使用了$ useTable,它也显示以下错误
在数据源默认值中找不到模型车辆的表格车辆。
我无法修改表名..有什么建议吗?我是cakephp的新手
此外,数据库中已有表用户,我创建了一个模型用户,它运行正常。问题在于其他表格如tranz_vehicle
答案 0 :(得分:3)
您的模型文件名是Vehicle.php还是vehicle.php? 如果小写表示您的模型正在生成,并且无法从文件中读取useTable,因为它没有使用该文件。 你还可以显示你的表主键吗?如果它不是&#39; id&#39;你必须用这段代码指定它。
public $primaryKey = 'example_id';
答案 1 :(得分:0)
不要忘记在任何事情之前清空 tmp / cache / models 和 tmp / cache / persistent 。
要强制CakePHP使用其他数据库,您基本上有两种选择:
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
}