我有两个模型,Plant 和 Emp,它们具有 Has And Belongs To Many 关系。我已将它们配置为关联,并且获取每个数据的查询是正确的,但问题是 Plant 和 Emp 位于不同的数据库上。 Emp 位于数据库 1 上,Plant 位于数据库 2 上。因此,它们无法正确查询连接表;连接表仅位于数据库 1 上。
当 Plant 模型尝试访问连接表时,它正在查询数据库 2,该数据库没有此数据。
这是 Emp 与 Plant 的关联。
var $hasAndBelongsToMany = array(
'Plant' =>
array(
'className' => 'Plant',
'joinTable' => 'emp_plant',
'foreignKey' => 'employee_id',
'associationForeignKey' => 'LocationID',
'unique' => true,
'conditions' => '',
)
);
Update:我尝试设置一个“finderQuery”属性来让我查询连接表,但我不知道如何给出这样的原始 SQL 查询并允许它动态使用 idinstance模型的值而不是预定义的值。
我可以设置类似的东西
SELECT * FROM [Plant] AS [Plant] JOIN [DB].[DBO].[empplant] AS
[EmpPlant] ON ([EmpPlant].[employee_id] = **4**
AND [EmpPlant].[ID] = [Plant].[LocationID])
这将为我提供正确的数据one员工,但我不知道如何使此 finderQuery 成为动态查询。必须有一种方法可以使其发挥作用。
Try
var $useDbConfig = 'alternate';
在你的模型类中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)