Doctrine2 : Comprendre la cascade de suppression
Le concept de cascade de suppression dans Doctrine2 permet la suppression automatique des enregistrements enfants lorsque l'enregistrement parent est supprimé. Cette fonctionnalité garantit l'intégrité des données en maintenant l'intégrité référentielle.
Implémentation de la cascade de suppression dans Doctrine2
Pour implémenter la cascade de suppression, il existe deux approches :
Niveau de mappage objet-relationnel (ORM) :
Niveau de base de données :
Corriger vos entités
Dans votre exemple, vous avez utilisé l'approche au niveau ORM mais vous avez manqué l'attribut onDelete="CASCADE" sur la colonne de jointure. Pour corriger cela, modifiez l'entité Child.php comme suit :
<code class="php">/** * @ORM\ManyToOne(targetEntity="Father", cascade={"remove"}) * @ORM\JoinColumn(name="father_id", referencedColumnName="id", onDelete="CASCADE") * * @var Father */ private $father;</code>
注意事項
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!