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
persisten attente. -
detach($entite) -
annule le
persistpour l'instance$entite. -
contains($entite) -
vérifie si l'instance en paramètre a eu un
persistdans 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é.