src/Repository/FilmProjectProgressReportRepository.php line 49

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\FilmProjectProgressReport;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. /**
  7.  * @extends ServiceEntityRepository<FilmProjectProgressReport>
  8.  *
  9.  * @method FilmProjectProgressReport|null find($id, $lockMode = null, $lockVersion = null)
  10.  * @method FilmProjectProgressReport|null findOneBy(array $criteria, array $orderBy = null)
  11.  * @method FilmProjectProgressReport[]    findAll()
  12.  * @method FilmProjectProgressReport[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  13.  */
  14. class FilmProjectProgressReportRepository extends ServiceEntityRepository
  15. {
  16.     public function __construct(ManagerRegistry $registry)
  17.     {
  18.         parent::__construct($registryFilmProjectProgressReport::class);
  19.     }
  20. //    /**
  21. //     * @return FilmProjectProgressReport[] Returns an array of FilmProjectProgressReport objects
  22. //     */
  23. //    public function findByExampleField($value): array
  24. //    {
  25. //        return $this->createQueryBuilder('f')
  26. //            ->andWhere('f.exampleField = :val')
  27. //            ->setParameter('val', $value)
  28. //            ->orderBy('f.id', 'ASC')
  29. //            ->setMaxResults(10)
  30. //            ->getQuery()
  31. //            ->getResult()
  32. //        ;
  33. //    }
  34. //    public function findOneBySomeField($value): ?FilmProjectProgressReport
  35. //    {
  36. //        return $this->createQueryBuilder('f')
  37. //            ->andWhere('f.exampleField = :val')
  38. //            ->setParameter('val', $value)
  39. //            ->getQuery()
  40. //            ->getOneOrNullResult()
  41. //        ;
  42. //    }
  43.     public function findByYear(int $yearint $filmProjectId): ?FilmProjectProgressReport
  44.     {
  45.         $startDate = new \DateTime("$year-01-01 00:00:00");
  46.         $endDate = new \DateTime("$year-12-31 23:59:59");
  47.         return $this->createQueryBuilder('e')
  48.             ->leftJoin('e.filmProject','f')
  49.             ->andWhere('e.createdAt >= :startDate')
  50.             ->andWhere('e.createdAt <= :endDate')
  51.             ->andWhere('f.id = :filmProjectId')
  52.             ->setParameter('startDate'$startDate)
  53.             ->setParameter('endDate'$endDate)
  54.             ->setParameter('filmProjectId'$filmProjectId)
  55.             ->getQuery()
  56.             ->getOneOrNullResult()
  57.         ;
  58.     }
  59.     public function findAllByYear(int $year): array
  60.     {
  61.         $startDate = new \DateTime("$year-01-01 00:00:00");
  62.         $endDate = new \DateTime("$year-12-31 23:59:59");
  63.         return $this->createQueryBuilder('e')
  64.             ->leftJoin('e.filmProject','f')
  65.             ->andWhere('e.createdAt >= :startDate')
  66.             ->andWhere('e.createdAt <= :endDate')
  67.             ->setParameter('startDate'$startDate)
  68.             ->setParameter('endDate'$endDate)
  69.             ->getQuery()
  70.             ->getResult()
  71.         ;
  72.     }
  73.     public function findAllCompleted(): array
  74.     {
  75.         $completed 'completed';
  76.         
  77.         return $this->createQueryBuilder('e')
  78.             ->andWhere('e.status = :status')
  79.             ->setParameter('status'$completed)
  80.             ->getQuery()
  81.             ->getResult()
  82.         ;
  83.     }
  84. }