EducationNotationRepository.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Repository\Education;
  4. use App\Entity\Education\EducationNotation;
  5. use App\Entity\Organization\Organization;
  6. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  7. use Doctrine\Persistence\ManagerRegistry;
  8. class EducationNotationRepository extends ServiceEntityRepository
  9. {
  10. public function __construct(ManagerRegistry $registry)
  11. {
  12. parent::__construct($registry, EducationNotation::class);
  13. }
  14. /**
  15. * Permet de récupérer toutes les évaluations d'une structure sans tenir compte de l'année des education student
  16. * @param Organization $organization
  17. * @return array|int|mixed|string
  18. */
  19. public function findAllEducationNotation(Organization $organization){
  20. $this->_em->getFilters()->disable('activity_year_filter');
  21. $queryBuilder = $this->createQueryBuilder('education_notation');
  22. $queryBuilder
  23. ->select('education_notation')
  24. ->innerJoin('education_notation.educationStudent','educationStudent')
  25. ->innerJoin('educationStudent.access','access')
  26. ->innerJoin('access.organization','organization')
  27. ->andWhere('organization.id=:organization_id')
  28. ->setParameter('organization_id', $organization->getId())
  29. ;
  30. $query = $queryBuilder->getQuery();
  31. $results = $query->getResult();
  32. $this->_em->getFilters()->enable('activity_year_filter');
  33. return $results;
  34. }
  35. }