Outils pour utilisateurs

Outils du site


symfony_4:doctrine_2:suppression_de_donnees

Suppression des données

Il exite deux types de suppression dans ce projet :

  • La suppression logiciel
  • La suppression définitive

Pour savoir quel type de suppression doit être mise en place, vérifier la fiche de tâche ou le Modèle Conceptuelle de Données.

Si l'attribut booléen “deleted” existent dans l'entité, c'est qu'il s'agit d'une suppression logiciel. Dans le cas contraire, il s'agit d'une suppression définitive.


Suppression logiciel

La suppression logiciel consiste à simplement passer une variable booléen à true.

On utilise donc la même méthode que pour la modification de donnée :

//définition manager
$manager = $this->getDoctrine()->getManager();
 
//récupération de l'objet user
$user = $manager->getRepository(User::class)->findBy(array('id'));
 
//Passage de l'attribut à true
$user->setDeleted(true);
 
//Sauvegarde des modifications en BDD
$manager->persist($user);
$manager->flush()

Suppression définitive

La suppression définitive supprime complètement un objet, celle-ci peut d'ailleurs occasionnée des erreurs sur les entités liées à celui-ci.

L'utilisation de la méthode remove du manager sur l'entité voulu permet ce type de suppression.

//définition manager
$manager = $this->getDoctrine()->getManager();
 
//récupération de l'objet user
$user = $manager->getRepository(User::class)->findBy(array('id'));
 
//Suppression de l'objet
$manager->remove($user);
 
//Application des modifications en base
$manager->flush()

Remarque : En cas de soucis avec ce type de suppression contactez le support, la base de données ne doit pas être bien configuré !

symfony_4/doctrine_2/suppression_de_donnees.txt · Dernière modification: 2019/12/08 08:41 (modification externe)