Doctrine - 从表中选择最后4行

M M*_*ero 3 dql symfony doctrine-orm

我正在使用Symfony/Doctrine.我正在尝试从表中选择最后4行,但我得到错误.

$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'SELECT c FROM DprocMainBundle:Courses c ORDER BY id DESC LIMIT 4'
);

$course = $query->getResult();
Run Code Online (Sandbox Code Playgroud)

这是我的查询但它显示错误.

预期结束字符串,得到'LIMIT'

我应该如何使用限制,并获得最后4行?

谢谢!

Nic*_*ich 6

使用setMaxResults()限制的结果数量.

$course = $query->setMaxResults(4)->getResult();
Run Code Online (Sandbox Code Playgroud)

如果您想将其用于分页,则可以添加setFirstResult()呼叫.

 $course = $query->setMaxResults(4)->setFirstResult(10)->getResult();
Run Code Online (Sandbox Code Playgroud)