2017-12-08 3 views
0

Schnelle Skizze
ich eine übergeordnete Entität löschen möchten, ohne es Kinder zu entfernen, setzen Sie stattdessen die referenzierte SpalteLehre onDelete Fremdschlüssel-Constraints

Meine Programmierung
ich onDelete="SET NULL" zum joinColumn hinzugefügt auf NULL von mein Kind Entität wie folgt aus:

/** 
* @ORM\ManyToOne(targetEntity="Backend\Modules\Ads\Domain\Ad\Ad", inversedBy="rewarded") 
* @ORM\JoinColumn(name="ad_id", referencedColumnName="id", onDelete="SET NULL") 
*/ 
private $ad; 

Dies ist die Muttergesellschaft Verein:

/** 
* @ORM\OneToMany(targetEntity="Backend\Modules\Ads\Domain\Rewarded\Rewarded", mappedBy="ad") 
*/ 
private $rewarded; 

Das Problem
auf Löschen des Mutter es mir diesen Fehler wirft:

Cannot delete or update a parent row: a foreign key constraint fails 

Ich habe bereits versucht "remove", "persist" ohne viel Erfolg hinzuzufügen. Durch die Verwendung von persist wird der Fehler immer noch verursacht und wenn remove aktiviert ist, wird nur die Zeile entfernt.

Ich habe bisher keine funktionierende Lösung gefunden, danke schon!

+0

Haben Sie den Schema-Update-Befehl ausgeführt? –

+0

Ja, ich habe die Beziehung existiert mit On Delete = SET NULL innerhalb der Datenbank. –

Antwort

0

Ich habe die Lösung gefunden. Meine Entity, die ich NULL setzen wollte, war abhängig von einer anderen Entity, die von der Entity abhängig war, die ich auch entfernte. Die Methode, die ich oben verwendet habe, funktioniert vollständig, wenn sie überall dort implementiert wird, wo sie benötigt wird.

Danke.

Verwandte Themen