Cakephp模型只读取默认的MySQL模式 - >数据源默认情况下找不到模型

时间:2015-05-08 19:42:02

标签: mysql cakephp

我有一个MySQL数据库有两个模式,默认一个,另一个名为rabbit_db。当我尝试访问模型时,它会引发以下异常:

在数据源默认设置中找不到模型Promo的表rabbit_db.api_promos。

当我在默认架构中创建相同的表时,它工作正常。

这是我的模特:

class Promo extends BaseModel {
  public $useTable = 'rabbit_db.api_promos';
  public $name = 'Promo';
}

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要更改默认数据源或在/app/Config/database.php中添加另一个数据源。

关于设置数据源的

Here is the documentation(假设您使用的是CakePHP 2.x)。

并且here is an example显示了如何指定模型应该使用哪个数据源。

该示例中的重要部分(在database.php中定义第二个数据源之后)是在模型中设置变量$useDbConfig,以便它知道要使用哪个数据源。在您的情况下,它可能如下所示:

class Promo extends BaseModel {
  public $useTable = 'rabbit_db.api_promos';
  public $name = 'Promo';
  public $useDbConfig = 'rabbit_db';
}