Doctrine - select last 4 rows from table

2019-05-15 18:48发布

问题:

I'm using Symfony/Doctrine. I'm trying to select last 4 rows from table, but im getting error.

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

$course = $query->getResult();

This is my query but it shows error.

Expected end of string, got 'LIMIT'

How should i use limit, and get the LAST 4 rows?

thanks!

回答1:

Use setMaxResults() to limit the number of results.

$course = $query->setMaxResults(4)->getResult();

If you want to use this for pagination you can add a setFirstResult() call.

 $course = $query->setMaxResults(4)->setFirstResult(10)->getResult();