不止一次链接一个模型

时间:2014-02-19 09:18:56

标签: php cakephp cakephp-2.2 cakephp-model

我有一个用户可以请求项目的功能。该请求有2个字段供其他员工添加。

对于负责项目的人(person_responsible)和应该参加开幕会议的员工(person_attending),有一个字段。

我想知道的是,由于这两个字段(person_responsibleperson_attending)都会从hr_employees表中提取数据,我如何在{Project表中设置它1}} - 模型

目前我有一个字段设置如下:

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

我如何设置其他字段?

1 个答案:

答案 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*/)
)

(或该数组的其他变体取决于查询的制作方式)。