Details
Description
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;
------------+
| id | name |
------------+
| 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
Activity
Ilya Biryukov
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Description |
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; +----+----------+ | id | name | +----+----------+ | 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 /home/ilya/work/Wanawork/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php line 44 Attached, SQL dump for the table & data |
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; +----+----------+ | id | name | +----+----------+ | 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 |
Benjamin Eberlei
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Invalid [ 6 ] |