我使用两个模型,每个模型在不同的数据库上,但具有相同的服务器登录信息(主机,用户和密码)
Model Consumer (Database A) HasMany ConsumerOrder
Model ConsumerOrder (Database B) BelongsTo Consumer
我已经做了所有的关联,但在我运行$this->ConsumerOrder->fetch('all');
的那一刻,它不是写连接,我认为它只是简单地把一个前缀到数据库表的名称,但我不知道如何做到这一点,因为它应该改变核心。
任何想法?
:
我注释了文件"lib/Model/Datasource/DboSource.php"中的第1064行
保持CakePHP生成连接的行,因为数据库的名称不同。
if ($model->useDbConfig === $linkModel->useDbConfig) {
}
请检查是否在控制器中导入了Model。如果没有,请像这样导入模型。
$ConsumerOrder= ClassRegistery::init('ConsumerOrder');
之后你可以写:
$variable = $ConsumerOrder->fetch('all');
print_r($variable);