如何使用自定义连接 cakephp2 获取模型的关联数据



我正在使用cakephp2并尝试像这样连接两个表:

$employee=$this -> Employee ->find ('all',array(
'joins'=>array( 
array('table' => 'employee_histories', 'alias' => 'eh', 'type' => 'LEFT', 'foreignKey' => false, 
'conditions' => array('eh.emp_id= Employee.emp_id'))
),
'fields'=>'Employee.*,eh.*',
)); 

在员工历史记录模型中,与表employee_designations关联如下:

public $belongsTo = array(
'EmployeeDesignation' => array(
'className' => 'EmployeeDesignation',
'foreignKey' => '',
'conditions' => 'EmployeeDesignation.designation_id=EmployeeHistory.designation_id',
'fields' => '',
'order' => ''
),
);

现在是否可以在数组中获取员工指定结果$employee。

您可以通过向joins数组添加另一个数组来联接employee_designations表。 像这样:

$employee= $this->Employee->find('all', array(
'joins'=>array( 
array(
'table' => 'employee_histories', 
'alias' => 'eh', 
'type' => 'LEFT',
'foreignKey' => false, 
'conditions' => array(
'eh.emp_id= Employee.emp_id'
)
),
// array joining the employee designations table
array(
'table' => 'employee_designations',
'alias' => 'ed',
'type' => 'LEFT',
'conditions' => array(
'eh.designation_id = ed.designation_id'
)
)
),
'fields'=>'Employee.*, eh.*, ed.*', // include ed fields
));

最新更新