utiliser les expressions Doctrine dans un QueryBuilder
Bonjour,
j'ai besoin de trier une colonne d'une entité, via une expression doctrine ABS.
Dans mon buildForm, j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$builder->add('parentId','entity', array(
'class' => 'foxp2projectsBundle:Categories',
'empty_value' => 'choisir ...',
'property' => 'categoriesName',
'query_builder' => function(CategoriesRepository $er) {
return $er->getCategoriesList();
},
'required' => false,
'label' => 'Catégorie parente :'
)); |
la fonction dans le repository :
Code:
1 2 3 4 5 6 7 8
|
public function getCategoriesList()
{
$qb = $this->createQueryBuilder('c');
$qb->select('c');
$qb->add('orderBy' ,$qb->expr()->abs('c.level'));
return $qb;
} |
provocant une erreur de syntaxe :
Citation:
[Syntax Error] line 0, col 67: Error: Expected end of string, got '('
si je remplace le orderby avec :
Code:
$qb->add('orderBy','c.categoriesName');
le tri est fonctionnel.
Une idée sur la bonne formulation ?