1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| $qb->select(array('o1', 'o2', 'a', 'af', 'p'))
->from('MonBundle:Organisation', 'o1')
->join('o1.orgafils', 'o2')
->join('o2.agents', 'a')
->join('a.affaires', 'af')
->join('af.planification', 'p')
->where('af.etat <> \'Archivée\'')
->andwhere('af.segment is not null')
->andwhere('af.retard = 1')
->orderBy('o1.nom');
if($niveau) {
switch($niveau) {
case 'agence' :
$qb->andwhere('o1.nom = :param');
break;
case 'secteur' :
$qb->andwhere('o2.nom = :param');
break;
case 'agent' :
$qb->andwhere('a.nomPrenom = :param');
break;
}
$qb->setParameter('param', $nom);
}
if ($l->getType() == 'secteur') {
$qb->andwhere('af.organisation in (:o)');
$qb->setParameter('o', $od->getFilsIdList( $od->getId($l->getData())) );
}
$query = $qb->getQuery(); |
Partager