Yii Framework Forum: Como almacenar varios registros desde un mismo formulario o vista - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Como almacenar varios registros desde un mismo formulario o vista Rate Topic: -----

#1 User is offline   jhoneider 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 11-November 09

Posted 26 January 2010 - 01:27 PM

Hola.

Lo que pasa es que tenemos un formulario el cual contiene unos campos normales y contiene un conjunto de checkbox los cuales se listan y son traídos de otra tabla (llamemosla tabla A) como se lo mostramos en la imagen adjunta, al enviar el formulario, este quedara guardado en una tabla B y tendremos una tabla C la cual será normalizadora y se llenará con los checkbox que se seleccionen y entonces contendra las llaves foraneas de la tabla A y tabla B como se muestra en la segunda imagen, la pregunta es si es posible hacer este almacenamiento utilizando el modelo de la tabla C sin necesidad de hacer un recorrido con PHP normal, algo asi como un arreglo de modelos (no se si la expresion sea bien utilizada).

Muchas gracias por la ayuda.

Attached File(s)


0

#2 User is offline   gallego123 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 535
  • Joined: 11-August 09
  • Location:Argentina

Posted 01 February 2010 - 06:39 AM

View Postjhoneider, on 26 January 2010 - 01:27 PM, said:

Hola.

Lo que pasa es que tenemos un formulario el cual contiene unos campos normales y contiene un conjunto de checkbox los cuales se listan y son traídos de otra tabla (llamemosla tabla A) como se lo mostramos en la imagen adjunta, al enviar el formulario, este quedara guardado en una tabla B y tendremos una tabla C la cual será normalizadora y se llenará con los checkbox que se seleccionen y entonces contendra las llaves foraneas de la tabla A y tabla B como se muestra en la segunda imagen, la pregunta es si es posible hacer este almacenamiento utilizando el modelo de la tabla C sin necesidad de hacer un recorrido con PHP normal, algo asi como un arreglo de modelos (no se si la expresion sea bien utilizada).

Muchas gracias por la ayuda.


Hola

creo que vas a tener que recorrer el arreglo de la tabla A y si esta seleccionado, hacer un insert en la tabla C

lo que podes tratar de hacer es hacer un foreach para cada columna de la tabla A en forma generica

algo asi (no probado)
                   $model='TablaA'; //el nombre del modelo de la tabla A

                   $tablaA =$_POST['TablaA']; // leo el post completo (seleccionados y no seleccionados )

                   //arreglo con las columnas de la tabla A
                    $columnas_aux=CActiverecord::model($model)->getMetaData()->columns;
                    //recorrer y asignar solo el nombre
                   $columnas=array();
                   foreach($columnas_aux as $col) {
                       $columnas[]=$col->name;
                   }
                   
                  foreach ($columnas as $col_name) {
                        
                        if ( $tablaA[$col_name] )   {
                                tablaC=new TablaC();
                                //asignar valores
                                tablaC->save();
                        }   
             

KISS - Keep It Simple Stupid
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users