1

当我在 CakePHP 中使用跨数据库连接时,在 database.php 中为数据库表添加前缀时出现错误。

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

候选人数据库有prefix = ec_。所以 CakePHP 添加ec_的表名变成了ec_candidates.ec_case_masters,但实际上它应该是candidates.ec_case_masters

有人可以帮助我如何在 CakePhp 中使用 cross db join

4

1 回答 1

0

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

在您的数据库配置文件中:

  • $default = array('prefix' => 'ec_', ....);
  • $candidates = array('prefix' => 'candidates', ...);

模型:

公共 $useDbConfig = '候选人';

于 2013-08-12T09:11:03.807 回答