当我在带有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';