2016-05-27 7 views
0

Ich habe ein Problem mit meiner Entität, ich entferne Eintrag in meiner arraycollection, ich sehe Ergebnis, aber es hat keine Wirkung in meinem bdd.Entfernen von Eins-zu-viele-Eintrag

auf Entity

/** 
* @ORM\OneToMany(targetEntity="BaseEleveBundle\Entity\Dossier", mappedBy="eleve", cascade={"all"}) 
*/ 
private $dossiers; 

foreach ($listfinancement as $key => $value) { 
     if ($value['check'] == 1) { 
      echo " remove dossier done"; 
      $this->removeDossier($this->dossiers[$value['clef']]); //<-- remove 

     } 
    } 

public function removeDossier(Dossier $dossier){ 
    $this->dossiers->removeElement($dossier); 
} 

auf Controller

if($form->isValid()){ 
      $em = $this->getDoctrine()->getManager(); 
      $em->persist($eleve); 

      $em->flush(); 

     } 

sehe ich das Ergebnis, wenn ich eleve $ verwenden, aber auf die Seite neu laden, meine entfernen desapear, entfernen Sie nicht wirksam in BDD

Antwort

0

Ich fand die Lösung nach 1 Stunde der Suche, nur nach der Buchung nur und orphanRemoval = True on Config Anotierung

/** 
* @ORM\OneToMany(targetEntity="BaseEleveBundle\Entity\Dossier", mappedBy="eleve", cascade={"all"},orphanRemoval=true) 
*/ 
private $dossiers;