Save multiple

Muy buenas,

Hace una semana cme adentre a yii, he trabajdo con otros frameworks de PHP, así que lo que estoy intentando ahora es poner en práctica cosas que hacia con otros frameworks e implementarlo en Yii.

Una de esas cosas es el guardado multiple de registros. Partiendo del blog básico del tutorial estoy intentando guardar varios post de una sóla vez pero hasta ahora no he sido capaz.

¿Alguien puede ponerme algún código de ejemplo o explicarme la técnica a usar en Yii?

He usado esta receta de Yii http://www.yiiframework.com/doc/guide/1.1/en/form.table.

Un saludo y gracias

podrias postear cual es el codigo que se genera para el formulario y luego ver que es lo haces en el controlador para recibirlo ?? quizas solo falta recorrer bien los datos que llegan del form …

Pues he probado con el código del ejemplo del enlace.

Controller




public function actionCreate()

{   

    $items=new Post;


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

    {

        $valid=true;

        foreach($items as $i=>$item)

        {

            if(isset($_POST['Item'][$i]))

                $item->attributes=$_POST['Item'][$i];

            $valid=$item->validate() && $valid;

        }

        if($valid){

         

        }

    }

   

    $this->render('create',array('items'=>$items));

}

View




<div class="form">

<?php echo CHtml::beginForm(); ?>

<table>

<tr><th>Title</th><th>Content</th><th>Status</th></tr>

<?php foreach($items as $i=>$item): ?>

<tr>

<td><?php echo CHtml::activeTextField($item,"[$i]title"); ?></td>

<td><?php echo CHtml::activeTextField($item,"[$i]content"); ?></td>

<td><?php echo CHtml::activeTextField($item,"[$i]status"); ?></td>

</tr>

<?php endforeach; ?>

</table>

 

<?php echo CHtml::submitButton('Save'); ?>

<?php echo CHtml::endForm(); ?>

</div><!-- form -->



ohh… me referia al html generado … para saber la estructura de nombres que siguen los campos…

Ok cuando tenga un segundo te paso el HTML que muestra la vista

Mira esta extensión

http://www.yiiframework.com/extension/multimodelform/

Saludos.