|
The sample query (I want to bring a specific item to the top of the list).
mysql> select * from Language order by name='English' desc, name asc limit 5;
------------+
------------+
| 82 |
English |
| 73 |
Albanian |
| 74 |
Arabic |
| 75 |
Armenian |
| 76 |
Bengali |
------------+
5 rows in set (0.00 sec)
In theory, the code below should generate the same query.
$repository->createQueryBuilder('p')
->addOrderBy("p.name='english'", 'desc')
->addOrderBy('p.name', 'asc');
In practice, an exception is thrown.
Doctrine\ORM\Query\QueryException: [Syntax Error] line 0, col 67: Error: Expected end of string, got '=' (uncaught exception) at /vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php line 44
Attached, SQL dump for the table & data
|