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

2022-01-03 00:00:00 sql php symfony doctrine-orm dql

我有以下查询:

   $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 查询时,它返回此错误:

What I need to do, is limit the amount of records returned from this query. However, when I add LIMIT 10 to the SQL query, it returns this error:

错误:预期的字符串结尾,得到LIMIT".

Error: Expected end of string, got 'LIMIT'.

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

So, I had a look and found that you could do add ->limit(10) to the code (after the query). But this then throws up this PHP error:

Fatal error: Call to undefined method DoctrineORMQuery::limit() in C:wampwwwsrcShoutAdminBundleControllerDefaultController.php on line 22

我做错了什么?

推荐答案

据我所知,目前没有像 LIMIT 这样的 DQL 声明.

There is no statement like LIMIT for DQL currently, as far as I know.

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

相关文章