Wie verwende ich die Kaskadenoption in Symfony2 Doctrine?
Ich versuche das zu verstehencascade
Option inLehre imSymfony2.
Ich möchte in der Lage sein, eine untergeordnete Entität zu löschen (und den Fremdschlüsseleinschränkungsfehler nicht auszulösen.)
Ich habe 3 Entitäten:
Bericht
/**
* @ORM\OneToMany(targetEntity="Response", mappedBy="report")
*/
protected $responses;
/**
* @ORM\OneToMany(targetEntity="Response", mappedBy="report")
*/
protected $sms;
Antwort
/**
* @ORM\ManyToOne(targetEntity="Report", inversedBy="responses")
*/
protected $report;
SMS
/**
* @ORM\ManyToOne(targetEntity="Report")
*/
protected $report;
Jetzt möchte ich eine löschenResponse
Einheit, aber ich verstehe
SQLSTATE [23000]: Integritätsbeschränkungsverletzung: 1451 Eine übergeordnete Zeile kann nicht gelöscht oder aktualisiert werden:
Eine Fremdschlüsseleinschränkung schlägt fehl (mybundle
.sms
, EINSCHRÄNKUNGFK_B0A93A77BB333E0D
UNBEKANNTER SCHLÜSSEL (reportId
) VERWEISEreport
(id
))
Wo verwende ich diecascade
Option und welche Option soll ich verwenden (detach
oderremove
)?
Ich kann viel probieren, um das herauszufinden, aber ich hatte auf eine fachmännische Erklärung gehofft, damit ich nichts übersehen kann.