Bonjour,

Je cherche à filtrer les manches d'une série de concours. Pour chaque concours, je selectionne parmi les manches à venir, celle dont la date de fin est la plus petite; et, à defaut, celle dont la date de fin est la plus élevée.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$qb = $this->createQueryBuilder('c');
		$qb->leftJoin('c.manches', 'm')
			->addSelect('m')
			->groupBy('c.id')
		 	->having(
		 		$qb->expr()->andX(
		 			$qb->expr()->gte('m.dateFin', ':now'), $qb->expr()->min('m.dateFin')
		 		)
		 	)
		 	->orHaving(
		 		$qb->expr()->andX(
		 			$qb->expr()->lt('m.dateFin', ':now'), $qb->expr()->max('m.dateFin')
		 		)
		 	)
		 	->setParameter('now', new \DateTime('now'));
ça ne fonctionne pas. ça me retourne une erreur critique : "Error: Expected =, <, <=, <>, >, >=, !=, got ')'"