2010-04-08 4 views
0

J'essaie de supprimer des enregistrements de plusieurs à plusieurs en utilisant Doctrine. J'ai utilisé le code surComment supprimer des enregistrements many-to-many dans Doctrine?

lorsque je fais la première méthode, il supprime juste l'enregistrement UserGroup SEULEMENT. Comment supprimer des enregistrements User, Group et UserGroup en même temps? Les méthodes deuxième et troisième ne fonctionnent pas aussi bien.

Répondre

3

Vous pouvez utiliser DQL pour supprimer ces enregistrements, mais ..

Etes-vous sûr de vouloir faire cela? Avant de les supprimer, assurez-vous qu'aucun autre utilisateur n'utilise le groupe que vous supprimez et que l'utilisateur que vous supprimez n'appartient à aucun autre groupe.

+0

Vous avez raison. À quoi je pensais? – Moon

1

Vous ne pouvez pas, sauf si les tables sont définies pour cascade lors de la suppression.

2

Ajouter dans votre schema.yml quelque chose dans cet état d'esprit:

... 
relations: 
... 
    onDelete: CASCADE 

ou dans votre modèle de base:

$this->hasMany('Group as Groups', array(
     ... 
     'onDelete' => 'CASCADE')); 
Questions connexes