Services utiles
Pour chaque entité, on utilisera le dépôt correspondant, tel que défini dans la classe.
// src/Controller/DiabloController::createProfile use App\Entity\Profile; // ... $em = $this->getDoctrine()->getManager(); $repository_profile = $em->getRepository(Profile:class);
On utilise donc la service d'appel à Doctrine ainsi que le gestionnaire d'entité (Entity Manager).
Enregistrer
// src/Controller/DiabloController::createProfile $em = $this->getDoctrine()->getManager(); $profile = new Profile(); $profile->setBattleTag("Medor"); // On insère l'instance de profile dans la liste des éléments à enregistrer en base // Les données ne sont pas encore écrites $em->persist($profile); // On confirme l'exécution à Doctrine $em->flush();
Doctrine s'occupe de tout : différencie les insertions et les mises à jours, génère les identifiants, utilise les transactions, etc.
Les appels à la base de données sont visibles dans le profiler.
Méthodes du gestionnaire d'entités
-
clear
-
annule tous les
persist
en attente. -
detach($entite)
-
annule le
persist
pour l'instance$entite
. -
contains($entite)
-
vérifie si l'instance en paramètre a eu un
persist
dans le gestionnaire d'entité. -
refresh($entite)
- retour à la base; tous les changements sur l'instance sont annulés.
-
remove($entite)
- prépare la suppression de l'entité.