Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] ManyToMany en Doctrine

Estas en el tema de ManyToMany en Doctrine en el foro de Symfony en Foros del Web. Buenas, a ver si alguien me puede ayudar porque es la primera que hago una relación de este tipo con Doctrine Clase Users Código PHP: ...
  #1 (permalink)  
Antiguo 07/11/2015, 14:02
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
ManyToMany en Doctrine

Buenas, a ver si alguien me puede ayudar porque es la primera que hago una relación de este tipo con Doctrine

Clase Users
Código PHP:
/**
     *
     * @ORM\ManyToMany(targetEntity="Roles")
     * @ORM\JoinTable(name="user_role",
     *     joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
     * )
     */
    
protected $user_roles;
    
    public function 
__construct()
    {
        
$this->user_roles = new DoctrineCommonCollectionsArrayCollection();
    } 
Clase Roles
Código PHP:
/**
     * @ORM\ManyToMany(targetEntity="Users", mappedBy="user_roles")
     */
    
protected $users
Cuando creo los schemas me funciona perfectamente, pero a la hora de ejecutar la aplicación me devuelve un error de mapeo

The field TMK\AdminBundle\Entity\Roles#users is on the inverse side of a bi-directional relationship, but the specified mappedBy association on the target-entity TMK\AdminBundle\Entity\Users#user_roles does not contain the required 'inversedBy=users' attribute.

¿Alguien ve el problema?
  #2 (permalink)  
Antiguo 07/11/2015, 21:25
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: ManyToMany en Doctrine

Doctrine te esta notificando que no estas declarando el lado inverso de la relación:
Código PHP:
Ver original
  1. /**
  2.      *
  3.      * @ORM\ManyToMany(targetEntity="Roles", inversedBy="users")
  4.      * @ORM\JoinTable(name="user_role",
  5.      *     joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
  6.      *     inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
  7.      * )
  8.      */
  9.     protected $user_roles;
Te aconsejo que revises la documentación: http://docs.doctrine-project.org/pro...-bidirectional
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: doctrine
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 20:23.