我在CakePHP 2.6.x中有这种关系
| -- ProfessorUser
Project -- ProjectUser -- User |
| -- StudentUser
项目模型
public $hasMany = array('ProjectUser');
ProjectUser模型
public $belongsTo = array('User');
结果
$ this->项目 - >查找('所有',数组('递归' => 2));
'ProjectUser' => array(
(int) 0 => array(
'id' => '1',
'project_id' => '1',
'user_id' => '2',
'User' => array(
'id' => '2',
'name' => 'John',
....
)
),
(int) 1 => array(
'id' => '18',
'project_id' => '1',
'user_id' => '1',
'User' => array(
'id' => '1',
'name' => 'Kate',
....
)
)
我的问题
好的我已将用户分配到项目但是我如何知道用户是教授还是学生?
提前致谢
答案 0 :(得分:1)
您必须为用户模型添加hasOne()
关系:
var $hasOne = array ('ProfessorUser', 'StudentUser')
然后,检查User对象是否具有有效的ProfessorUser或StudentUser子对象(即非空数组)。
向User添加列以指示用户类型可能是值得的。现在,用户可以同时拥有ProfessorUser和StudentUser记录,这可能不是您想要的。