2014-02-19 68 views
0

我有一個用戶可以請求項目的功能。該請求有2個字段供其他員工添加。多次鏈接一個模型

對於負責該項目的人員(person_responsible)和應該出席開幕會議的員工(person_attending),有一個字段。

我想知道的是,因爲這兩個領域(person_responsibleperson_attending)將拉動它從hr_employees表中的數據,我怎麼會在我的Project - 模型此設置。

在我曾經的一個領域建立這樣的時刻:

public $belongsTo = array(
    'HrEmployee' => array(
     'className' => 'HrEmployee', 
     'foreignKey' => 'responsible_person', 
     'fields' => 'HrEmployee.employeename', 
    ) 
); 

我將如何設置其他領域?

回答

1

我在這種情況下做的是做兩個關聯。由於cake允許定製關係,因此可以使用不同名稱的同一模型有兩個關係。

public $belongsTo = array(
    'ResponsibleEmployee' => array(
     'className' => 'HrEmployee', 
     'foreignKey' => 'responsible_person', 
     'fields' => 'HrEmployee.employeename', 
    ), 
    'AttendingEmployee' => array(
     'className' => 'HrEmployee', 
     'foreignKey' => 'person_attending', 
     'fields' => 'HrEmployee.employeename', 
    ) 
); 

更改名稱以調整您的需求。現在,如果你的模型設置爲中容納和您檢索與它的模型的項目模型,你就會得到這樣

array('Project' => array(/*data project*/), 
     'ResponsibleEmployee' => array(/*name*/), 
     'AttendingEmployee' => array(/*name*/) 
) 

(或根據查詢是如何做出陣列的另一個變化)。

+0

感謝您的回答。我試過這個,但是我收到了一個'未知列'錯誤。但專欄在那裏。 – Albert

+0

什麼專欄給你錯誤? – Nunser

+0

'HrEmployee.employeename',但我知道它存在於我的'HrEmployee'表中 – Albert