CakePHP -跨多个数据库关联模型


CakePHP - Associating models across multiple databases

我使用两个模型,每个模型在不同的数据库上,但具有相同的服务器登录信息(主机,用户和密码)

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);