我的目的是仅在没有实体连接配乐的其他记录时删除实体艺术家中的记录。
我以这种方式尝试了 orphanRemoval :
原声带.php
/**
* @Assert\NotBlank(message = "soundtrack.artists.blank")
* @ORM\ManyToMany(targetEntity="Artist", inversedBy="soundtrack", cascade={"persist", "remove"}, orphanRemoval=true)
* @ORM\JoinTable(name="soundtrack_artist")
* @ORM\OrderBy({"name" = "ASC"})
**/
private $artists;
艺术家.php
/**
* @ORM\ManyToMany(targetEntity="Soundtrack", mappedBy="artists")
*/
private $soundtrack;
但是当我删除实体记录配乐时,即使实体艺术家的记录链接到其他记录配乐,也会清除它(我认为这是你应该从 orphanRemoval 获得的)。
只有当没有其他记录连接时,有没有办法将该记录删除为“孤儿”?
我也试过这样:
**Soundtrack.php**
/**
* @Assert\NotBlank(message = "soundtrack.artists.blank")
* @ORM\ManyToMany(targetEntity="Artist", inversedBy="soundtrack", cascade={"persist"}, orphanRemoval=true)
* @ORM\JoinTable(name="soundtrack_artist")
* @ORM\OrderBy({"name" = "ASC"})
**/
private $artists;
但不会删除记录实体艺术家..