hola amigo, gracias por responderme...ya hice el paso 1 y 2 pero cuando hago en 
insert en cada modelo no se inserta...ejemplo:desde el archivo excel yo leo 
toda la informacion pero dicha informacion va almacenada en distintos modelo o 
tablas de mi base de datosde verdad no se cómo extraer esa informacion que ya 
tengo, porq creo que el rollo es de  trabajar con array y ciclos... por ejemplo 
que recorra el modelo de Norma y lo inserte (luego siga recorriendo y encuentre 
el dominio y lo inserte ASociado a esa Norma, y luego recorra a Objetivos y lo 
inserte asociado a Dominio) y asi sucesivamente con lo demas.
Lo único que he logrado hacer es Insertar Norma Perfectamente pero los demas 
registros asociados no se insertan...No se si me explico....



Date: Tue, 15 Mar 2011 19:49:16 -0430
Subject: Re: [CakePHP-es] Leer Archivo de Excel e insertar su contenido
From: rcamposw...@gmail.com
To: cakephp-es@googlegroups.com

Hola, 

Trato de ayudarte, me considero novato en algunas cosas, no he realizado 
especificamente lo que indicas, pero he realizado algo parecido, yo hago lo 
siguiente:

Primer Paso: Proceso lo que necesite dentro de mi controlador, en tu caso la 
lectura del archivo excel y construyo el arreglo. 


Segundo Paso: En el controlador agrego al resultado del Primer paso lo que me 
haga falta con la logica que yo necesite, en tu caso aqui agregaria el 
norma_id.  Si ya tienes experiencia lo puedes hacer en el paso 1, es 
indistinto, lo que importa es que generes el arreglo que necesitas para que 
cake lo pueda insertar. Esto lo debes de pasar a la vista del formulario 
haciendo uso del $this->set para que puedas hacer el $this->data de cake.


Si son muchos registros y no vas a usar vistas puedes llamar a un for que te 
inserte los registros invocando a un insert que contruyas en tu modelo, esto 
funciona pero actualmente tengo problemas con el $this->query(insert into)  
porque me graba  registros duplicados en la base de datos aunque lo llame una 
vez, estoy tratando de ver como puedo insertar a traves de cake y no usando el 
$this->query 


SAludos,
Reinaldo

El 15 de marzo de 2011 11:24, mayuli plaza gonzalez 
<mayuli14_adri...@hotmail.com> escribió:






Hola Comunidad, estoy leyendo de un archivo excel el contenido que debe ser 
insertado en una base de datos, Sin embargo tengo un pequeño problema conla 
clave foránea de los modelos. y no se insertan en las tablas....
por ejemplo el Dominio está asociado a Norma ¿pero cómo le asigno el idNormas 
al modelo Dominio automáticamente si no es leído desde el archivo de excel ?
hice un for que recorre el archivo de excel de esta manera:for ($i = 0; $i < 2; 
$i++) {                                                 
                        for( $j = 0; $j < 2; $j++) {                            
                                        
                                $product[$root_headers[0]][$norma_headers[$j]] 
= $data->sheets[0]['cells'][$i + 1][$j + 1];
                                
                                for ($k = 0; $k < 4; $k++) {    
                                        for( $l = 0; $l < 3; $l++) {
                                                
$product[$rootDominio_headers[0]][$dominio_headers[0]] = 
$data->sheets[0]['cells'][$k + 1][$l + 1];
                                                
                                                for ($m = 0; $m < 6; $m++) {    
                                                        for( $n = 0; $n < 4; 
$n++){
                                                                
$product[$rootObjGral_headers[0]][$objGral_headers[0]] = 
$data->sheets[0]['cells'][$m + 1][$n + 1];
                                                                
                                                                for ($o = 0; $o 
< 8; $o++) {    
                                                                        for( $p 
= 0; $p < 5; $p++){
                                                                                
$product[$rootObjEsp_headers[0]][$objEsp_headers[0]] = 
$data->sheets[0]['cells'][$o + 1][$p + 1];
                                                
                                                        }
                                                }
                                                                
                                                
                                                        }
                                                }
                                        }

                                }               
                        }
                        
                }
                pr($product); exit();
                return $product;y al imprimir la variable $product me imprime 
lo siguiente:Array
( [Norma] => Array
        (
            [nombrenormas] => Los Mandamientos
            [detallesnormas] => Leyes Religiosas
        )

    [Dominio] => Array
        (
            [nombredominios] => 1.-Amar a Dios sobre todas las Cosas.
        )

    [Objetivogeneral] => Array
        (
            [nombreObjetivo] => 1.1-Ama a tu prójimo como a ti mismo
        )

    [Objetivoespecifico] => Array
        (
            [nombreObjetivoE] => 1.1.1 Con toda la mente y con todo el corazón
        )

)

 pero no deberia estar asi, sino que en cada modelo le debo asignar su 
respectiva asociación. Por ejemplo digo yo que sería así:
Array
( [Norma] => Array
        (
            [nombrenormas] => Los Mandamientos
            [detallesnormas] => Leyes Religiosas
        )

    [Dominio] => Array
        (
            [nombredominio] => 1. - Amar a Dios Sobre todas las cosas           
 [Norma_id] => 02        )

    [Objetivogeneral] => Array
        (
            [nombreObjetivo] => 1.1-Ama a tu prójimo como a ti mismo            
[Dominio_id] => 04

        )

    [Objetivoespecifico] => Array
        (
            [nombreObjetivoE] => 1.1.1 Con toda la mente y con todo el corazón  
          [ObjetivoGeneral_id] => 06    
        )
pero no se cómo ni donde hacerlo.... en el ciclo for de la clase 
MY_READER_excel? o en el Controlador al Cargar el Archivo?.... Bueno, no se si 
me puedan ORIENTAR.... gracias...


                                          




-- 

Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.

Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com


Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.








-- 

Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.

Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com


Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.
                                          

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a