====== Doctrine ====== ===== Repository : lire des entités ===== ==== Demander un Repository à Doctrine ==== Obtenir un **Repository** pour l'entité **Article** : $repo = $this->getDoctrine()->getRepository(Article::class); ==== L'obtenir par injection de dépendance ==== Ajouter un paramètre à une méthode d'un contrôleur : use App\Entity\Article; use App\Repository\ArticleRepository; public function index(ArticleRepository $repo) { } ==== Fonctions de recherche d'un Repository ==== Rechercher tous les articles : $articles = $repo->findAll(); Rechercher un article selon son **id** : $article = $repo->find(12); Rechercher tous les articles avec un ordre de tri : $articles = $repo->findBy( [], [ 'rangee' => 'ASC', 'case' => 'DESC' ] ); Rechercher un article selon un critère et un ordre de tri : $articles = $repo->findBy( ['numEtagere' => 'C26'], [ 'rangee' => 'ASC', 'case' => 'DESC' ] ); Rechercher un article selon sa propriété **Title** : $article = $repo->findOneByTitle("Titre de l'article"); Rechercher une liste d'articles selon leur propriété **Title** : $articles = $repo->findByTitle("Titre de l'article"); ===== Entity Manager : écrire des entités ===== ==== Obtenir le manager par injection de dépendance ==== L'ajouter comme paramètre à une méthode d'un contrôleur : use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; public function create( EntityManagerInterface $manager ) { $article = new Article(); $article ->setTitle("Titre de l'article") ->setContent("Contenu de l'article"); $manager->persist($article); $manager->flush(); }