假设我们想要使用一个HTML表单收集输入的model A 和 model B,我们想要显示的输入错误(如果有的话)在同一错误消息盒子显示。我们按照以下代码写:

public function actionCreate() {
  $a=new A;
  $b=new B; 
  if(isset($_POST['A'], $_POST['B'])) { // populate input data to $a and $b
  $a->attributes=$_POST['A'];
  $b->attributes=$_POST['B']; // validate BOTH $a and $b
  $valid=$a->validate();
  $valid=$b->validate() && $valid; 
  if($valid) { // use false parameter to disable validation
     $a->save(false);
     $b->save(false); // ...redirect to another page 
   }
 } 
   $this->render('create', array( 'a'=>$a, 'b'=>$b, ));
 }

做为create视图,我们需要写下面的代码,

<?php echo CHtml::form(); ?> //create.php <?php echo $this->renderPartial('_form',array('a'=>$a,'b'=>$b)); ?> // _form.php <?php echo CHtml::errorSummary(array($a,$b)); ?> ...inputfields for $a, $b... </form>

上述方法我们也可以使用有超过两种model的处理。