8768 sujets

Développement web côté serveur, CMS

Bonjour à tous, Smiley smile

Je suis des cours Doctrine et j'ai une question pourtant basique que je ne parviens pas à résoudre. Je souhaiterais simplement faire un ORDER BY CASE avec Doctrine, afin de retourner d'abord des éléments dont la date_fin est NULL, puis ensuite date_fin par ordre décroissant.

J'ai essayé plein de choses différentes, dont celle-ci qui me semble la plus logique, mais sans succès :

        return $this
            ->createQueryBuilder('v')
            ->orderBy('(CASE WHEN v.date_fin IS NULL THEN 1 ELSE 0 END) DESC, v.date_fin', 'DESC')
            ->getQuery()
            ->getArrayResult();


J'ai toujours cette erreur : [Syntax Error] line 0, col 63: Error: Expected end of string, got 'CASE'

Quelqu'un pourrait m'aider ? :S
Merci d'avance Smiley smile
Modifié par Gaylord.P (24 Jul 2015 - 22:32)