我有兩個模型,植物和僱主,有一個有和屬於多關係。我已經將它們配置爲關聯,並且爲每個數據獲取數據的查詢都是正確的,但問題在於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動態查詢。必須有一種方法才能發揮作用。
這兩個模型都有正確的數據庫配置,我已經更新了我的問題 –