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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage