【问题标题】:Removing one-to-many entry删除一对多条目
【发布时间】:2016-05-27 09:51:01
【问题描述】:

我的实体有问题,我删除了我的数组集合中的条目,我看到了结果,但它没有在我的 bdd 中生效。

在实体上

/**
 * @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,我会看到结果,但是在重新加载页面上,我的删除消失,删除在 BDD 中不起作用

【问题讨论】:

    标签: symfony-2.8


    【解决方案1】:

    我在 1 小时的搜索后找到了解决方案,就在刚刚发布和 orphanRemoval=true 配置注释之后

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      相关资源
      最近更新 更多