2012-08-31 20 views
5

Estoy tratando de eliminar una relación ManyToMany dentro de Doctrine 2. Tengo dos entidades: User y TargetGroup.ManyToMany no está eliminando

En mi entidad User tengo:

/** 
* @ORM\ManyToMany(targetEntity="TargetGroup", inversedBy="users") 
*/ 
private $targetGroups; 

En mi entidad TargetGroup que tengo:

/** 
* @ORM\ManyToMany(targetEntity="User", mappedBy="targetGroups") 
*/ 
private $users; 

Estoy tratando de llamar:

$user->removeTargetGroup($targetGroup); 
$targetGroup->removeUser($user); 

$em->persist($user); 
$em->persist($targetGroup); 
$em->flush(); 

Los dos métodos son :

public function removeTargetGroup(Path To Bundle $targetGroups) 
{ 
    $this->targetGroups->removeElement($targetGroups); 
} 

public function removeUser(Path To Bundle $users) 
{ 
    $this->users->removeElement($users); 
} 

No es un error, pero tampoco hace ninguna de las consultas de eliminación.

¿Alguna sugerencia?

+0

http://stackoverflow.com/questions/6328535/on-delete-cascade-with-doctrine2 – Stony

Respuesta

3

Eche un vistazo a Doctrine cascade property, separe en su caso.

Si establece cascade={"detach"} en ambas anotaciones ManyToMany, los registros de tablas cruzadas deberían continuar.

Cuestiones relacionadas