我有一个用户可以请求项目的功能。该请求有2个字段供其他员工添加。
对于负责项目的人(person_responsible
)和应该参加开幕会议的员工(person_attending
),有一个字段。
我想知道的是,由于这两个字段(person_responsible
和person_attending
)都会从hr_employees
表中提取数据,我如何在{Project
表中设置它1}} - 模型
目前我有一个字段设置如下:
public $belongsTo = array(
'HrEmployee' => array(
'className' => 'HrEmployee',
'foreignKey' => 'responsible_person',
'fields' => 'HrEmployee.employeename',
)
);
我如何设置其他字段?
答案 0 :(得分: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',
)
);
更改名称以调整您的需求。现在,如果您的模型设置为可包含,并且您在其中检索包含这些模型的Project模型,那么您将获得类似
的内容array('Project' => array(/*data project*/),
'ResponsibleEmployee' => array(/*name*/),
'AttendingEmployee' => array(/*name*/)
)
(或该数组的其他变体取决于查询的制作方式)。