不知道我正確理解你的問題,但如果你想以相同的形式來驗證和保存兩種模式,你可以做到這一點喜歡這個。
控制器:
$teacherModel = new Teacher;
$studentModel = new Student;
if(isset($_POST['Teacher']) && isset($_POST['Student']))
{
$teacherModel->attributes = $_POST['Teacher'];
$studentModel->attributes = $_POST['Student'];
// check both models for validation errors before saving and redirecting.
$teacherValid = $teacherModel->validate();
$studentValid = $studentModel->validate();
if($teacherValid && $studentValid)
{
$teacherModel->save(false); // false = don't perform validation before saving
$studentModel->save(false);
$this->redirect(array('view','id'=>$studentModel->id));
}
}
$this->render('create',array(
'teacherModel'=>$teacherModel,
'studentModel'=>$studentModel,
));
這將確保這兩種模式都是有效的重定向之前,否則會返回到表單。
然後,您可以通過將其在陣列中的方法$顯示在你看來這兩種模型驗證錯誤形式 - > errorSummary:
<?php echo $form->errorSummary(array($teacherModel, $studentModel)); ?>
你的代碼是什麼?沒有它就很難說清楚。 – Jonnny