Le saviez-vous - Symfony & Doctrine
Qu'est ce Doctrine
Doctrine est un ORM (Object Relational Mapping), composant de Symfony faisant office d'interface entre votre code et la base de donnée.
Cela est utile pour abstraire toute la partie connexion à la base de donnée, l'ORM ce chargeant de la compatibilité avec les différents types de PDO (PHP Data Objects).
Si vous aussi vous gérez vos data avec Doctrine, vous devez déjà utiliser abondament les méthodes find
, findOneBy
, findBy
par défaut de l'ORM.
J'ai appris récemment qu'il était possible de faire une selection avec une condition sur un tableau de valeur.
Cela peut être utile pour récupérer une liste d'items avec leurs ID par exemple.
$items = $this->itemRepository->findBy($where = ['id' => 1]); # WHERE id = 1
$items = $this->itemRepository->findBy($where = ['id' => [1, 2, 3]]); # WHERE id IN (1, 2, 3)
Il est également possible de jouer avec les annotations et le typage afin de récupérer un utilisateur avec l'id dans l'url par exemple.
/**
* @Route("/user/{id}", name="user_show")
*/
public function show(User $user): JsonResponse {
return $this->json($user->toArray());
}

MarquandT
Ethical Hacker ~ Web Developper ~ File Hosting Provider ~ Crypto Enthusiast ~ Automation Expert Bitcoin donation: 32Uu4NKGnxSPC7UukYXVyRHwbppbQpKVki