私はthrough
関係と非常に混乱しています。これが私のテーブルです
バッチ (id,name)
件名 (id,batch_id,name)
先生(ID,名前)
subject_teacher(subject_id,teacher_id)
関係は
バッチ HAS_MANY 件名
科目 BELONGS_TO バッチ
subject_teacher 経由の対象 MANY_MANY 人の教師
subject_teacher 経由の MANY_MANY 件の教師
いいえ、取得するための関係を指定するにはどうすればよいですか
- バッチの教師
- 教師に割り当てられたバッチ
throughオプションを試してみましたが、MANY_MANY リレーションではうまくいかないようです。各科目を繰り返す以外に良い方法はありますか?
編集:Teacherモデルの関数で教師の科目を取得できることを知っています
public function getBatches()
{
$batches=array();
foreach($this->subjects as $subject)
$batches[]=$subject->batch;
return $batches;
}
を参照して教師のバッチを取得できるようになりました$teacher->batches
。しかし、コードのどこかで次のようなステートメントを作成できるように、解決策のようなよりクリーンな関係が必要ですTeacher::model()->with('batches')->findAll()