我的实体有问题,我删除了我的arraycollection中的条目,我看到了结果,但它在我的bdd中没有生效。
on 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);
}
控制器上的
if($form->isValid()){
$em = $this->getDoctrine()->getManager();
$em->persist($eleve);
$em->flush();
}
如果我使用$ eleve,我会看到结果,但是在重装页面上,我的删除desapear,删除不会在BDD中生效
答案 0 :(得分:0)
我在搜索后1小时找到了解决方案,刚刚发布后,在配置anotation上发布了orphanRemoval = true
/**
* @ORM\OneToMany(targetEntity="BaseEleveBundle\Entity\Dossier", mappedBy="eleve", cascade={"all"},orphanRemoval=true)
*/
private $dossiers;