src/Repository/EnterpriseContactPositionRepository.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Repository;
  3. use App\Entity\Contact;
  4. use App\Entity\EnterpriseContactPosition;
  5. use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
  6. use Doctrine\Persistence\ManagerRegistry;
  7. /**
  8.  * @method EnterpriseContactPosition|null find($id, $lockMode = null, $lockVersion = null)
  9.  * @method EnterpriseContactPosition|null findOneBy(array $criteria, array $orderBy = null)
  10.  * @method EnterpriseContactPosition[]    findAll()
  11.  * @method EnterpriseContactPosition[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
  12.  */
  13. class EnterpriseContactPositionRepository extends ServiceEntityRepository
  14. {
  15.     public function __construct(ManagerRegistry $registry)
  16.     {
  17.         parent::__construct($registryEnterpriseContactPosition::class);
  18.     }
  19.     public function getEnterprises(?Contact $contact)
  20.     {
  21.         if($contact==null) return [];
  22.         $ecps $this->createQueryBuilder('ecp')
  23.             ->andWhere('ecp.contact = :contact')
  24.             ->join('ecp.enterprise''e')
  25.             ->andWhere('e.status = :true')
  26.             ->setParameter('contact',$contact)
  27.             ->setParameter('true'true)
  28.             ->getQuery()
  29.             ->getResult();
  30.         $output = [];
  31.         foreach($ecps as $ecp)
  32.             $output[] = $ecp->getEnterprise();
  33.         return $output;
  34.     }
  35. }