2012-08-31 2 views
5

Doctrine 2에서 ManyToMany 관계를 제거하려고합니다. UserTargetGroup 두 엔티티가 있습니다. 내 User 기업에서ManyToMany가 삭제되지 않습니다.

내가 가진 내 TargetGroup 엔티티에서

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

내가 가진 :

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

내가 전화하려고 : 사용

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

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

두 가지 방법됩니다 :

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

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

오류는 아니지만 삭제 쿼리도 수행하지 않습니다.

제안 사항?

+0

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

답변

3

Doctrine cascade property, 분리형을 살펴보십시오.

ManyToMany 주석 모두에 cascade={"detach"}을 설정하면 교차 기록은 계속 유지됩니다.

관련 문제