如果此问题已在其他地方得到解答,我提前道歉;我搜索了一个现有的答案,但结果是空的。也许我正在寻找错误的关键字。
我有三个模型,其中两个(学生和导师)与一个与其他模型都有$hasMany
关系的通用模型(约会)有$belongsTo
关系。具体型号如下...
一个学生有很多约会...
class Student extends AppModel {
var $hasMany = array (
'Appointment' => array (
'foreignKey' => 'student_id'
)
);
一个导师有很多约会...
class Tutor extends AppModel {
var $hasMany = array (
'Appointment' => array (
"foreignKey" => 'tutor_id'
)
);
约会属于学生和导师...
class Appointment extends AppModel {
var $belongsTo = array (
'Student' => array (
'foreignKey' => 'student_id'
),
'Tutor' => array (
'foreignKey' => 'tutor_id'
)
);
在查看学生的记录时(例如“app/student/view/4”),我需要能够列出他们即将到来的约会的日期以及该约会的导师姓名。因此,我需要在查看 Student 模型时从 Tutor 模型(名称)访问数据。现在我只能通过$this->Student->query()
拉取相关的导师记录来完成此操作,但这会导致学生的信息在结果数组中重复。
所有的$hasMany
和$belongsTo
关系都工作得很好。CakePHP 是否有一个我缺少的内置函数来获取相关信息,或者这需要在某个地方直接完成吗?