Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como ORDER POR CASO no Doctrine2 (Symfony2)


Se você estiver usando createQueryBuilder, poderá usar como
$query->addSelect("(CASE WHEN name like 'John %' THEN 0
           WHEN name like 'John%' THEN 1
           WHEN name like '% John%' THEN 2
           ELSE 3 END) AS HIDDEN ORD ");
$query->orderBy('ORD', 'DESC');

Observe que você deve ter "ESCONDIDO".

Você também pode fazer com a consulta nativa da doutrina.