php - Doctrine FIND_IN_SET leads to Error: Expected end of string, got '(' -


i've got following doctrine query in symfony2:

$query = $em     ->createquery("         select m mybackendbundle:merchant m         m.active = :active         order find_in_set(m.range, 'all', 'without_special'), m.tradingamount desc     ")     ->setparameter('active', true) ; 

but leads following error:

[syntax error] line 0, col 112: error: expected end of string, got '(' 

and:

queryexception:  select m my\bundle\backendbundle\entity\merchant m  m.active = :active  order find_in_set(m.range, 'all', 'without_special') asc, m.tradingamount desc 

i use find_in_set doctrine extension beberlei able use in query.

any ideas why happens?

update:

using find_in_set in select alias way:

select m, find_in_set(m.range, 'all', 'without_special') hidden findinset mybackendbundle:merchant  m.active = :active order findinset, m.productamount desc 

results in following error:

[syntax error] line 0, col 56: error: expected doctrine\orm\query\lexer::t_close_parenthesis, got ',' 

thanks comments of @qooplmao working version:

$query = $em     ->createquery("         select m, find_in_set(m.range, 'all,without_special') rangeordering         mybackendbundle:merchant m         m.active = :active         order rangeordering, m.tradingamount desc     ")     ->setparameter('active', true) ; 

find_in_set has 2 parameters , has within select part of query functions can't used in order by part of query.


Comments