为什么我不能在级联ORM端删除?



呼叫

$em->remove($news);

我遇到了约束违规错误。

我有两个实体,新闻和图像。

News中,我有3个对Image的参考,例如:

/**
  * @ORMOneToOne(targetEntity="Image", orphanRemoval=true, cascade={"persist"})
  */
  private $cover;
  /**
  * @ORMOneToOne(targetEntity="Image", orphanRemoval=true, cascade={"persist"})
  */
  private $img;
  /**
  * @ORMOneToMany(targetEntity="Image", mappedBy="news", orphanRemoval=true, cascade={"persist", "remove"})
  */
  private $gallery;

Image内部,我只提到这样的新闻,例如:

/**
    * @var News
    *
    * @ORMManyToOne(targetEntity="News", inversedBy="gallery", cascade={"remove"})
    */
    private $news;

我知道我在那里有一个约束,但由于这个原因,cascade = {" remove"} orm side在那里?

我在这里想念什么?如果我添加

* @ORMJoinColumn(onDelete="CASCADE")

对于许多人的关系,它的工作正常。我想知道是否以及如何有可能将其放在一边。

cascade={"remove"}News侧设置,就像您为$gallery关联所做的那样。

 /**
  * @ORMOneToMany(targetEntity="Image", mappedBy="news", orphanRemoval=true, cascade={"persist", "remove"})
  */
  private $gallery;

对其他关联做同样的事情。

/**
  * @ORMOneToOne(targetEntity="Image", orphanRemoval=true, cascade={"persist", "remove"})
  */
  private $cover;
  /**
  * @ORMOneToOne(targetEntity="Image", orphanRemoval=true, cascade={"persist", "remove"})
  */
  private $img;
  /**
  * @ORMOneToMany(targetEntity="Image", mappedBy="news", orphanRemoval=true, cascade={"persist", "remove"})
  */
  private $gallery;

相关内容

  • 没有找到相关文章

最新更新