src/Repository/AbscenceSheetRepository.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\AbscenceSheet;
  4. use App\Entity\SchoolYear;
  5. use App\Entity\Quater;
  6. use App\Entity\Sequence;
  7. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  8. use Doctrine\Persistence\ManagerRegistry;
  9. /**
  10. * @extends ServiceEntityRepository<AbscenceSheet>
  11. *
  12. * @method AbscenceSheet|null find($id, $lockMode = null, $lockVersion = null)
  13. * @method AbscenceSheet|null findOneBy(array $criteria, array $orderBy = null)
  14. * @method AbscenceSheet[] findAll()
  15. * @method AbscenceSheet[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  16. */
  17. class AbscenceSheetRepository extends ServiceEntityRepository
  18. {
  19. public function __construct(ManagerRegistry $registry)
  20. {
  21. parent::__construct($registry, AbscenceSheet::class);
  22. }
  23. public function findAbsByYear(SchoolYear $year )
  24. {
  25. $qb = $this->createQueryBuilder('a')
  26. ->leftJoin('a.sequence', 's')
  27. ->leftJoin('s.quater', 'q')
  28. ->leftJoin('q.schoolYear', 'sc')
  29. ->andWhere('sc.id=:sc')
  30. ->setParameter('sc', $year->getId());
  31. return $qb ->orderBy('a.id', 'DESC')->getQuery()->getResult();
  32. }
  33. // /**
  34. // * @return AbscenceSheet[] Returns an array of AbscenceSheet objects
  35. // */
  36. // public function findByExampleField($value): array
  37. // {
  38. // return $this->createQueryBuilder('a')
  39. // ->andWhere('a.exampleField = :val')
  40. // ->setParameter('val', $value)
  41. // ->orderBy('a.id', 'ASC')
  42. // ->setMaxResults(10)
  43. // ->getQuery()
  44. // ->getResult()
  45. // ;
  46. // }
  47. /**
  48. * @return AbscenceSheet[] Returns an array of AbscenceSheet objects
  49. */
  50. public function findByQuater(Quater $qt): ?array
  51. {
  52. return $this->createQueryBuilder('a')
  53. ->leftJoin('a.sequence', 's')
  54. ->leftJoin('s.quater', 'q')
  55. ->where('q.id=:q_id')
  56. ->orderBy('a.updatedAt')
  57. ->setParameter('q_id', $qt->getId())
  58. ->getQuery()
  59. ->getResult();
  60. ;
  61. }
  62. }