Les repositories sont généré en même temps que les entités, chaque entité dispose d'un repository qui lui est propre, les repository sont tous regroupés dnas le dossier src/repository
Le repository de l'entité permet de créer des fonctions qui touche au traitement des données d'une entité, en créant des fonctions dans le repository au lieu de directement faire l'appel dans le controller
Un exemple de fonction qui récupere à partir d'une valeur passé en paramètre 10 resultat Max trié par ID
public function findByExampleField($value) { return $this->createQueryBuilder('s') ->andWhere('s.exampleField = :val') ->setParameter('val', $value) ->orderBy('s.id', 'ASC') ->setMaxResults(10) ->getQuery() ->getResult(); }
Un autre exemple retourné un ou aucun résultat à partir d'une valeur
public function findOneBySomeField($value): ?SWFile { return $this->createQueryBuilder('s') ->andWhere('s.exampleField = :val') ->setParameter('val', $value) ->getQuery() ->getOneOrNullResult(); }