我有一个MySQL数据库有两个模式,默认一个,另一个名为rabbit_db。当我尝试访问模型时,它会引发以下异常:
在数据源默认设置中找不到模型Promo的表rabbit_db.api_promos。
当我在默认架构中创建相同的表时,它工作正常。
这是我的模特:
class Promo extends BaseModel {
public $useTable = 'rabbit_db.api_promos';
public $name = 'Promo';
}
我该怎么办?
答案 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';
}