<?php
namespace App\Repository;
use App\Entity\Contact;
use App\Entity\EnterpriseContactPosition;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
/**
* @method EnterpriseContactPosition|null find($id, $lockMode = null, $lockVersion = null)
* @method EnterpriseContactPosition|null findOneBy(array $criteria, array $orderBy = null)
* @method EnterpriseContactPosition[] findAll()
* @method EnterpriseContactPosition[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class EnterpriseContactPositionRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, EnterpriseContactPosition::class);
}
public function getEnterprises(?Contact $contact)
{
if($contact==null) return [];
$ecps = $this->createQueryBuilder('ecp')
->andWhere('ecp.contact = :contact')
->join('ecp.enterprise', 'e')
->andWhere('e.status = :true')
->setParameter('contact',$contact)
->setParameter('true', true)
->getQuery()
->getResult();
$output = [];
foreach($ecps as $ecp)
$output[] = $ecp->getEnterprise();
return $output;
}
}