<?php
namespace App\Repository;
use Doctrine\ORM\EntityRepository;
use App\Entity\Center;
/**
* FormulaireRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class FormulaireRepository extends EntityRepository
{
public function findAllWithFormation($center)
{
$query = $this->createQueryBuilder('f');
$query->innerJoin('f.formations', 'formations')
->innerJoin('formations.group', 'g')
->innerJoin('g.center','c')
->where('c = :center')
->andWhere('f.isActive IS NOT NULL')
->setParameter('center', $center);
if($center->getId() == 2){
$query->andWhere('f.id != :formationEnDouble')
->setParameter('formationEnDouble', 158);
}
return $query->getQuery()->getResult();
}
public function findAllWithFormationWithCenter(Center $center)
{
$query = $this->createQueryBuilder('f');
$query->select('f.name');
return $query->getQuery()->getResult();
}
public function findActiveAndMan(Center $center = null): array
{
$query = $this->createQueryBuilder('f');
$query->where('f.isActive = true')
->orWhere('f.id = 150')
->orWhere('f.id = 155')
->orWhere('f.id = 156')
->orWhere('f.id = 163')
->orWhere('f.id = 164')
->orWhere('f.id = 165');
if($center instanceof Center){
$query
->innerJoin('f.formations', 'formations')
->innerJoin('formations.group', 'g')
->innerJoin('g.center','c')
->where('c = :center')
->setParameter('center', $center);
}
return $query->getQuery()->getResult();
}
}