【发布时间】:2012-07-21 16:43:46
【问题描述】:
我对@987654322@ 关系感到非常困惑。这是我的桌子
批次(ID,名称)
主题(id,batch_id,name)
老师(身份证,姓名)
subject_teacher(subject_id,teacher_id)
关系是
批处理 HAS_MANY 主题
主题 BELONGS_TO 批次
通过 subject_teacher 对 MANY_MANY 教师进行主题化
通过 subject_teacher 教授 MANY_MANY 科目
不知道如何指定获取关系
- 一批教师
- 分配给教师的批次
我尝试使用 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()
【问题讨论】:
标签: activerecord yii relationship