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

问题描述 投票:0回答:1

我有以下疑问:

   $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'
            );

我需要做的是限制从此查询返回的记录数量。但是,当我将 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

我做错了什么?

php sql doctrine-orm symfony dql
1个回答
71
投票

据我所知,目前DQL还没有像LIMIT这样的语句。

你必须使用Query::setMaxResults()

© www.soinside.com 2019 - 2024. All rights reserved.