【发布时间】:2016-02-17 16:25:29
【问题描述】:
我正在使用 Doctrine 和 DQL 函数 createQuery() 我有这个查询:
SELECT id, 1 + (
SELECT count( * )
FROM user a
WHERE a.points > b.points ) AS RNK, points
FROM user b
此查询返回使用字段points 计算的排名。
如何转换此查询以在 createQuery() 中使用?
现在我有:
$query = $this->getEntityManager()->createQuery("
SELECT id, 1+(
SELECT count(*)
from AppBundle\Entity\User a
WHERE a.points > b.points) as RNK, points
FROM AppBundle\Entity\User b
");
但这会返回语法错误:"[Syntax Error] line 0, col 14: Error: Expected Literal, got 'SELECT'"
【问题讨论】:
标签: php mysql symfony doctrine-orm doctrine