提问者:小点点

cakephp模型不工作


目前正在开发Cakephp 2。并经历了以下错误。我们正在升级一个用过程式php编写的旧项目,以使php具有更多的概念。所以我们必须使用现有的数据库,它没有任何蛋糕约定。目前我面临的问题是数据库中有一个名为tranz_vehicle的表。我有一个叫vehicle的模型。php,下面是它的代码

<?php
class Vehicle extends AppModel{

    public $useTable="tranz_vehicle";

}
?>

即使在我使用$useTable之后,它仍然显示以下错误

在数据源默认值中未找到模型车辆的表vehicles。

我无法修改表名。。有什么建议吗?我是cakephp的新手

数据库中已经有了表用户,我创建了一个模型用户,它工作得非常好。问题在于其他表,如tranz_vehicle


共2个答案

匿名用户

是您的车型文件名是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

}