src/Repository/ProjectAllocatedHoursRepository.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\ProjectAllocatedHours;
  4. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. /**
  7.  * @method ProjectAllocatedHours|null find($id, $lockMode = null, $lockVersion = null)
  8.  * @method ProjectAllocatedHours|null findOneBy(array $criteria, array $orderBy = null)
  9.  * @method ProjectAllocatedHours[]    findAll()
  10.  * @method ProjectAllocatedHours[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  11.  */
  12. class ProjectAllocatedHoursRepository extends ServiceEntityRepository
  13. {
  14.     public function __construct(ManagerRegistry $registry)
  15.     {
  16.         parent::__construct($registryProjectAllocatedHours::class);
  17.     }
  18.     public function findByProject($order 'ASC'$orderBy ""$project)
  19.     {
  20.         $order filter_var $orderFILTER_SANITIZE_STRING);
  21.         $orderBy filter_var $orderByFILTER_SANITIZE_STRING);
  22.         $project filter_var ($projectFILTER_SANITIZE_NUMBER_INT);
  23.         try{
  24.             $query $this->createQueryBuilder('project_allocated_hours')
  25.                 ->leftJoin('project_allocated_hours.project''p')
  26.                 ->andWhere('p.id = :pid')
  27.                 ->setParameter('pid'$project);
  28.             if ($orderBy === "" ) {
  29.                 $query->orderBy('project_allocated_hours.id''ASC');
  30.             } else {
  31.                 $query->orderBy("project_allocated_hours." $orderBy$order);
  32.             }
  33.             return $query->getQuery()->getResult();
  34.         }catch (\Exception $exception){
  35.             return [];
  36.         }
  37.     }
  38.     public function countByProject($project)
  39.     {
  40.         $project filter_var ($projectFILTER_SANITIZE_NUMBER_INT);
  41.         try{
  42.             $query $this->createQueryBuilder('project_allocated_hours')
  43.                 ->select('count(distinct(project_allocated_hours.id))')
  44.                 ->leftJoin('project_allocated_hours.project''p')
  45.                 ->andWhere('p.id = :pid')->setParameter('pid'$project);
  46.             return $query->getQuery()->getSingleScalarResult();
  47.         }catch (\Exception $exception){
  48.             return 0;
  49.         }
  50.     }
  51. }