Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.37 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Admin\AdminBundle\Repository;
  4.  
  5. use Admin\AdminBundle\Entity\User;
  6. use Doctrine\ORM\EntityRepository;
  7.  
  8. class InterventionRepository extends EntityRepository
  9. {
  10.     /**
  11.      * @param User $user
  12.      * @return array
  13.      */
  14.     public function findBySupervisor(User $user)
  15.     {
  16.         $qb = $this->createQueryBuilder('i');
  17.  
  18.         $qb->join('i.user', 'u', 'WITH', 'u = i.user');
  19.         $qb->join('u.managerEmployee', 'me');
  20.         $qb->join('me.manager', 'm', 'WITH', 'm = me.manager');
  21.         $qb->where('m.supervisor = :supervisor');
  22.         $qb->setParameter('supervisor', $user);
  23.  
  24.         $qb->orWhere('me.manager = :manager');
  25.         $qb->setParameter('manager', $user->getManagerEmployee()->getManager());
  26.  
  27.         return $qb
  28.             ->getQuery()
  29.             ->getResult();
  30.     }
  31.  
  32.     public function interventionTraining($actuallyDate, $date30)
  33.     {
  34.  
  35.         $qb = $this->createQueryBuilder('i');
  36.         $qb->select(  'c.name as companyName', 'c.id as companyId', 'i.name as interventionName', 'u.lastname', 'cet2.name as trainingName', 'i.id as interventionId', 'ce.id as companyEmployeeId', 'c.isFrench as cfrench', 'm.name as managerName', 'i.startDate as iStart', 'i.endDate as iEnd', 'cet2.id as trainingId');
  37. //        $qb->select(  'c.name as companyName', 'c.id as companyId', 'i.name as interventionName', 'u.lastname', 'cet2.name as trainingName', 'i.id as interventionId', 'ce.id as companyEmployeeId');
  38.         $qb->innerJoin('i.interventionCompanyEmployees', 'ice')
  39.             ->innerJoin('ice.companyEmployee', 'ce')
  40.             ->innerJoin('ce.company', 'c')
  41.             ->innerJoin('ce.companyEmployeeTrainings', 'cet')
  42.             ->innerJoin('cet.training', 'cet2')
  43.             ->innerJoin('ce.user', 'u')
  44.             ->innerJoin('cet.trainingCategory', 'tec')
  45.             ->leftJoin('u.managerEmployee', 'um')
  46.             ->leftJoin('um.manager', 'm')
  47.  
  48.             ->where('cet.endDate > :endDate')
  49.             ->setParameter('endDate', $actuallyDate)
  50.             ->orWhere('cet.endDate > :endDate')
  51.             ->setParameter('endDate', $date30)
  52.  
  53.             ->andWhere('i.startDate > :startDate')
  54.             ->setParameter('startDate', $actuallyDate)
  55.  
  56.             ->andWhere('tec.name = :category')
  57.             ->setParameter('category', 'Obligatoire');
  58.  
  59.         return $qb->getQuery()->getResult();
  60.  
  61.  
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement