限制在Symfony2中使用Doctrine DQL时检索的记录数量

mic*_*jnr 27 php sql dql symfony doctrine-orm

我有以下查询:

   $latestcontent = $em->createQuery('
            SELECT c.title, c.content, c.lastedit, a.firstname, a.surname
            FROM ShoutMainBundle:Content c, ShoutMainBundle:Admin a
            WHERE c.author = a.id
            ORDER BY c.lastedit ASC'
            );
Run Code Online (Sandbox Code Playgroud)

我需要做的是限制从此查询返回的记录数量.但是,当我将LIMIT 10添加到SQL查询时,它会返回此错误:

错误:字符串的预期结束,得到'LIMIT'.

所以,我看了一下,发现你可以添加->limit(10)到代码中(在查询之后).但是这会引发这个PHP错误:

Fatal error: Call to undefined method Doctrine\ORM\Query::limit() in C:\wamp\www\src\Shout\AdminBundle\Controller\DefaultController.php on line 22
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Raf*_*ael 59

据我所知,目前没有类似LIMIT for DQL的声明.

您必须使用Query :: setMaxResults().