2012-08-31 12 views
5

को हटा नहीं रहा है। मैं सिद्धांत 2 के अंदर कई सारे रिश्ते को हटाने की कोशिश कर रहा हूं। मेरे पास दो इकाइयां हैं - User और TargetGroupManyToMany

मेरी User इकाई में मेरे पास है:

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

मेरी TargetGroup इकाई में मेरे पास है:

/** 
* @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 एनोटेशन पर सेट करते हैं, तो क्रॉसस्टेबल रिकॉर्ड जारी रहना चाहिए।