我对这种关系感到非常困惑through
。这是我的桌子
批次(ID,名称)
主题(id,batch_id,名称)
老师(身份证,姓名)
subject_teacher(subject_id,teacher_id)
关系是
批处理 HAS_MANY 主题
科目 BELONGS_TO 批次
主题 MANY_MANY 教师通过 subject_teacher
教师 MANY_MANY 科目来自 subject_teacher
不,我如何指定获取的关系
- 一批教师
- 分配给教师的批次
我尝试使用through选项,但它似乎不适用于 MANY_MANY 关系。除了遍历每个主题之外,还有什么更好的方法吗?
编辑:我知道我可以通过教师模型中的功能获得教师的科目
public function getBatches()
{
$batches=array();
foreach($this->subjects as $subject)
$batches[]=$subject->batch;
return $batches;
}
现在我可以通过参考获得一批老师$teacher->batches
。但是我需要一个更清晰的关系,比如解决方案,以便在代码中的某些地方我可以做出如下声明Teacher::model()->with('batches')->findAll()