如何在CakePHP中使用数据库有前缀的跨数据库联接



当我在带有database.php中数据库表前缀的CakePHP中使用跨DB联接时,我会出错。

$joins[] = array('table' => 'candidates.ec_case_masters',
                    'alias' => 'CandidateCaseMaster',
                    'type' => 'INNER',
                    'conditions' => array(
                            'CandidateCaseMaster.candidate_id = Candidate.id',
                    )
            );

候选数据库具有CCD_ 1。所以CakePHP在表名中添加了ec_,变成了ec_candidates.ec_case_masters,但实际上应该是candidates.ec_case_masters

有人能帮我如何在CakePhp 中使用跨数据库联接吗

您必须配置第二个数据源,并为这两个数据源设置前缀,然后为您的模型使用该数据库配置。

在数据库配置文件中:

  • $default=数组('prefix'=>'ec_',….)
  • $candidates=数组('prefix'=>'candidates',…)

型号:

public$useDbConfig='candidates';

相关内容

  • 没有找到相关文章

最新更新