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

PHP OO Insertar relación ManyToMany [Doctrine2]

Estas en el tema de Insertar relación ManyToMany [Doctrine2] en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, Cuando se crean las relaciones ManyToMany, crea una tabla con dos campos para dichas relaciones. En el caso de insertar un registro nuevo, con ...
  #1 (permalink)  
Antiguo 28/09/2011, 10:19
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Insertar relación ManyToMany [Doctrine2]

Buenas,

Cuando se crean las relaciones ManyToMany, crea una tabla con dos campos para dichas relaciones.

En el caso de insertar un registro nuevo, con los datos del Entity asociado se crea esa relación automaticamente.

Pero como se hace el registro únicamente de la relación?

Si tengo por ejemplo los dos Entities, Group - User, con la relación ManyToMany, se crea en la DB la tabla "group", la tabla "user", y la tabla "group_user".

Si ya tengo datos en la tabla "group", y datos en la tabla "user", como se puede insertar solamente la relación en "group_user".

Gracias de antemano.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #2 (permalink)  
Antiguo 28/09/2011, 10:33
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Insertar relación ManyToMany [Doctrine2]

Buenas,

Hay un capitulo entero en el manual que hace referencia a las asociaciones.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 28/09/2011, 10:41
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Respuesta: Insertar relación ManyToMany [Doctrine2]

No lo había visto, le echo un vistazo a ver si doy con ello.

Gracias, un saludo.
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #4 (permalink)  
Antiguo 28/09/2011, 13:09
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Respuesta: Insertar relación ManyToMany [Doctrine2]

Lo dejo por aquí por si a alguien le surge la misma duda.

Los Entities
Código PHP:
class Group
{
    
// ..

    /**
     * @ManyToMany(...)
     */
    
private $user;

    
/**
     * __construct
     */
    
public function __construct()
    {
        
//Cambiar barras "/" por "\"
        
$this->user = new /Doctrine/Common/Collections/ArrayCollection;
    }
}

class 
User
{
    
//..

    /**
     * @ManyToMany(...)
     */
    
private $group;

En el Repository:
Código PHP:
$em $this->doctrineContainer->getEntityManager();

$group $em->find('\MyEntity\Group'1);
$user $em->find('\MyEntity\User'5);

$group->getUser()->add($user);
$user->getGroup()->add($group);

$em->flush(); 
Esto crearía una asociación en la tabla "group_user" con los id 1-5 respectivamente

Gracias masterpuppet.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:36.