我有两个模型,植物和雇主,有一个有和属于多关系。我已经将它们配置为关联,并且为每个数据获取数据的查询都是正确的,但问题在于Plant和Emp位于不同的数据库中。 Emp在数据库1上,工厂在数据库2上。因此,他们不会正确查询连接表;连接表仅在数据库1上。CakePHP:使用不同的数据库关联两个模型?
当Plant模型尝试访问连接表时,它正在查询没有此数据的数据库2。
这是协会雇用的工厂。
var $hasAndBelongsToMany = array(
'Plant' =>
array(
'className' => 'Plant',
'joinTable' => 'emp_plant',
'foreignKey' => 'employee_id',
'associationForeignKey' => 'LocationID',
'unique' => true,
'conditions' => '',
)
);
更新:我试图设置“finderQuery”属性,让我查询连接表,但我不知道怎么给这样一个原始的SQL查询,并允许它动态地使用id为模型的实例而不是预定义值。
我可以设置类似
SELECT * FROM [Plant] AS [Plant] JOIN [DB].[DBO].[empplant] AS
[EmpPlant] ON ([EmpPlant].[employee_id] = **4**
AND [EmpPlant].[ID] = [Plant].[LocationID])
哪位能给我正确的数据一个员工,但我不知道如何使这个finderQuery动态查询。必须有一种方法才能发挥作用。
这两个模型都有正确的数据库配置,我已经更新了我的问题 –