从模型中获取教师数据,我希望所有教师及其各自的科目, 从模型中获取主题数据我希望也能看到教授该特定主题的教师
问题 在两个实例上,关联模型返回正确数量的记录但数据不存在。当我显示相应的数组时,我看到 [达到最大深度] 。
我从加入表中移除了ID字段,仅修复了教师模型。主题模型仍有问题。< / p>
我只需知道[达到的最大深度]意味着什么,为什么从联接表中删除id字段会修复教师问题而不是主题。
如果重要的是我应该提到我的教师模型主键字段不遵循惯例 SUBJECT模型
public $hasAndBelongsToMany = array(
'Teacher' => array(
'className' => 'Teacher',
'joinTable' => 'subjects_teachers',
'foreignKey' => 'subject_id',
'associationForeignKey' => 'teacher_id',
'unique' => 'keepExisting'
)
);
教师模型
public $hasAndBelongsToMany = array(
'Subject' => array(
'className' => 'Subject',
'joinTable' => 'subjects_teachers',
'foreignKey' => 'teacher_id',
'associationForeignKey' => 'subject_id',
'unique' => 'keepExisting'
)
);
主题的结果
array(
(int) 0 => array(
'Subject' => array(
'id' => '1',
'subject_code' => '121',
'subject_name' => 'Mathematics',
'compulsory' => true
),
'Teacher' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
在删除ID字段之前来自教师的结果
array(
'Teacher' => array(
'teacher_id' => '6',
'first_name' => 'George',
),
'Subject' => array(
(int) 0 => array(
'id' => '1',
'subject_code' => '121',
'subject_name' => 'Mathematics',
'compulsory' => true,
'SubjectsTeacher' => array(
[maximum depth reached]
)
)
删除ID字段后的结果
'Subject' => array(
(int) 0 => array(
'id' => '1',
'subject_code' => '121',
'subject_name' => 'Mathematics',
'compulsory' => true
),
答案 0 :(得分:3)
您的数据存在,调试器不会显示它,因为depth
选项限制它。使用debug()
(默认深度= 25
)或Debugger::dump()/exportVar()
,深度(第二个参数,默认为3
)足够深,可用于深层嵌套数据。
另见
答案 1 :(得分:0)