【问题标题】:CakePHP - Associating models across multiple databasesCakePHP - 跨多个数据库关联模型
【发布时间】:2014-08-11 15:38:33
【问题描述】:

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

模型 Consumer(数据库 A)HasMany ConsumerOrder

模型 ConsumerOrder(数据库 B)BelongsToConsumer

我已经完成了所有关联,但是在我运行$this->ConsumerOrder->fetch('all'); 的那一刻,它并没有写连接,我认为它只是在数据库表的名称上加上一个前缀,但我不知道如何这样做,因为它应该改变核心。

有什么想法吗?

已解决

我在文件“lib/Model/Datasource/DboSource.php”中注释了第1064行

由于数据库名称不同,该行保持 CakePHP 生成连接。

if ($model->useDbConfig === $linkModel->useDbConfig) { }

【问题讨论】:

    标签: php cakephp model-associations


    【解决方案1】:

    请检查您是否在控制器中导入模型。 如果不是这样,请导入这样的模型..

    $ConsumerOrder= ClassRegistery::init('ConsumerOrder');
    

    以后就可以写了:

    $variable = $ConsumerOrder->fetch('all');
    print_r($variable);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 2017-08-14
      相关资源
      最近更新 更多