Les Repositories

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();
    }