0
守護模式:(關係)數據提供商的關係沒有獲得所需的數據
'studentsGuardians' => array(self::HAS_MANY, 'StudentsGuardian', 'guardian_id'),
學生模型關係:
'studentsGuardians' => array(self::HAS_MANY, 'StudentsGuardian', 'student_id'),
學生監護人模型關係:
'guardian' => array(self::BELONGS_TO, 'Guardian', 'guardian_id'),
'student' => array(self::BELONGS_TO, 'Student', 'student_id'),
現在控制器I想要選擇那些guardian_id = id的學生,但我的代碼選擇所有記錄而不進行過濾。我的代碼是
public function actionAssignGuardian($id)
{
$dataProvider = new CActiveDataProvider('Student',
array(
'criteria' => array(
'with'=>array('studentsGuardians',
array('criteria'=>
array('with'=>array('guardian','condition'=>' guardian_id=:id',
'params'=>array('id'=>$id))))),
),
));
$this->renderPartial('Pages/_assignGuardian', array(
'dataProvider' => $dataProvider,
'id'=>$id,
));
}
請點我正確的方法,我怎麼會選擇那些學生的guardian_id =給定id的功能。我是yii的新手。 謝謝。
在您定義的關係中,您是否寫過關係名「guardian」?與「通過」聲明。 –
我的拼寫錯誤,應該是'學生守護者'(例如你在'學生'和'學生守護者'模型之間得到的關係名稱) –