Ich habe diese Beziehung zwischen zwei Entitäten in Symfony 3:Lehre entfernen Seite besitzen viele zu viele Beziehung
class Project
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Neighborhood", inversedBy="projects")
* @ORM\JoinTable(name="neighborhood_project")
*/
private $neighborhoods;
public function __construct() {
$this->neighborhoods = new ArrayCollection;
}
public function getNeighborhoods()
{...}
public function setNeighborhoods(array $entities)
{...}
public function addNeighborhood(Neighborhood $entity)
{...}
public function removeNeighborhood(Neighborhood $entity)
{...}
}
class Neighborhood
{
/**
* @var int
*
* @ORM\Id
* @ORM\Column(name="id", type="integer", nullable=false, unique=true)
* @ORM\GeneratedValue(strategy="AUTO")
*/
public $id;
/**
* @var ArrayCollection
*
* @ORM\ManyToMany(targetEntity="Project", mappedBy="neighborhoods")
*/
private $projects;
public function __construct() {
$this->projects = new ArrayCollection;
}
public function getProjects()
{...}
public function setProjects(array $entities)
{...}
public function addProject(Project $entity)
{...}
public function removeProject(Project $entity)
{...}
}
Dies funktioniert gut. Aber das Problem, das ich habe, ist das Entfernen der Beziehungen.
$ em-> entfernen ($ Nachbarschaft); löschen Sie die Nachbarschaft in der Tabelle 'Nachbarschaft' und alle Beziehungen in der Tabelle 'nachbarschaft_projekt'.
$ em-> remove ($ project); löschen Sie das Projekt in der Tabelle 'Projekt' und DOES NOT löschen Sie die Beziehung in der Tabelle 'nachbarschaft_projekt'.
Ich habe viele Optionen versucht, um die Beziehung auf der besitzenden Seite zu löschen und habe keine Lösung gefunden. Wie kann ich die Beziehung beim Löschen der Eigentümerseite löschen?
Hinzugefügt:
Cascade:
@ORM\ManyToMany(targetEntity="Neighborhood", inversedBy="projects", cascade={"remove"})
wird nicht helfen. Dies löscht Entität, Relation und verwandte Entitäten. Ich brauche die gleiche Funktionalität wie $ em-> entfernen ($ Nachbarschaft);
haben Sie versucht onDelete = "CASCADE"? Grüße – Albeis
Ja, ich habe es versucht – Manium