Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Cakephp Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacionadas

Estas en el tema de Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacionadas en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, tengo dos tablas q se relacionan. Ya defini el tema de hasMany y belongsTo, pero quiero insertar el id de una tabla con la ...
  #1 (permalink)  
Antiguo 21/01/2014, 12:13
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacionadas

Hola,

tengo dos tablas q se relacionan.
Ya defini el tema de hasMany y belongsTo, pero quiero insertar el id de una tabla con la q se relaciona.

Código PHP:
public function add(){

          if (
$this->request->is('post'
                 or 
$this->request->is('put')) {
                   
                     
//Aca inserto los datos q vienen del form
                    
                     
if ($this->Modelo->save($this->request->data)) {
                            
//Si los datos se insertan bien, ese ID lo quiero insertar en otra tabla
                            
$this->OtroModelo->save($this->request->data)
                     }else{
                           echo 
"error";
                     }
                    
                    
            }
        
    } 
El tema es como obtengo ese id recien insertado.
Usar getLastInsertId() me puede traer conflicto si hay muchas inserciones al mismo tiempo?

Gracias
  #2 (permalink)  
Antiguo 23/01/2014, 15:15
 
Fecha de Ingreso: febrero-2012
Mensajes: 37
Antigüedad: 12 años, 2 meses
Puntos: 5
Respuesta: Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacio

Que tal si intentas insertar todo de una vez, cakePHP puede hacer eso por ti, solo debes preparar el array a guardar en el formato adecuado.

tal vez te sea útil esta documentación:

http://book.cakephp.org/2.0/en/model...-options-array

Saludos
  #3 (permalink)  
Antiguo 24/01/2014, 05:02
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacio

Cita:
Iniciado por arhego Ver Mensaje
Que tal si intentas insertar todo de una vez, cakePHP puede hacer eso por ti, solo debes preparar el array a guardar en el formato adecuado.

tal vez te sea útil esta documentación:

http://book.cakephp.org/2.0/en/model...-options-array

Saludos
Gracias, habia pasado por alto esa parte del book
  #4 (permalink)  
Antiguo 24/01/2014, 05:35
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Cómo inserto id de un campo en el campo de otra tabla? Ambas están relacio

Cita:
Iniciado por reborn Ver Mensaje
Gracias, habia pasado por alto esa parte del book
Igual estoy en la misma, porq lo q necesito es el id del modelo para insertarlo en el otro modelo al mismo tiempo.

Este ejemplo es lo q yo quiero hacer:
Código PHP:
$data = array(
    
'Article' => array('title' => 'My first article'),
    
'Comment' => array(
        array(
'body' => 'Comment 1''article_id' => ?),
    ),
); 
como obtendria el id de Article para insertarlo en Comment?, me refiero a insertarlo al mismo tiempo, primero crear el articulo con su id y despues insertar ese id en Comment.
Por eso pregunte lo de getLastInsertId, de esa forma funciona pero no se si me traera conflicto al haber muchos registros al mismo tiempo

-----------------------

Perdon, no dije nada, ya vi la solucion

Última edición por reborn; 24/01/2014 a las 05:41

Etiquetas: cakephp, campo, relacionadas, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.