salvar un modelo en otra variable

Estimados:

Buen dia, les queria consultar si es posible "guardar" la info de un modelo a otra variable y usarla. Lo que sucede es que hago 3 form, (es un formulario extenso y lo dividi en 3 hojas) por lo que en un controlador cargo el form1 que asigna los datos de $model1, luego de completarlo, renderizo y cargo el $model2 y lo envio al form2, todo bien, pero al apretar el boton para seguir al form3 las variables del $model1 se "pierden", se vuelven a cargar a nada, hay alguna forma de llegar al form3 guardando los valores?

Saludos y gracias

Lo que yo hago, no se si valdra en algo mi opinion, ya que soy novato en el mundo de yii es etiquetar mis encabezados, para usar los models, existe una norma, y si te das cuenta cuando creas un MODEL y despues un CRUD o CONTROLLER con INDEX arriba veras encabezados /* @var $model Personal_d */ como este, es una opcion el usarlos…

Lo otro seria estimado contertulio usar metodo hidden hay harta y basta documentacion en este foro o en google…

Saludos y ojala que mi post te haya servidor de algo estimado…

Vamos a ver.

Cuando vas guardando cada paso, envías los datos a una acción de un controlador,no?

Y los envías desde una vista que tiene un formulario, no?

Y ese formulario tiene 3 modelos, no?

Pues lo que tienes que hacer es setear los modelos en cada paso por el controlador.

Por ejemplo:




class pruebaController extends CController

{

...


public function savePrueba()

{

     $model1 = new model1;

     $model2 = new model2;

     $model3 = new model3;


...

...


     if(isset($_POST['model1']))

     {

          $model1->attributes = $_POST['model1'];

     }

     

     

     if(isset($_POST['model2']))

     {

          $model2->attributes = $_POST['model2'];

     }


     

     if(isset($_POST['model3']))

     {

          $model3->attributes = $_POST['model3'];

     }


...

...


     $this->render('prueba', array(

                                   'model1' => $model1,

                                   'model2' => $model2,

                                   'model3' => $model3,

                                   ));

}


...

}



Rellénalo como quieras, pero a grandes rasgos así sería.

Un saludo.