web-dev-qa-db-ja.com

Symfony2でDoctrine 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'
            );
_

私がする必要があるのは、このクエリから返されるレコードの量を制限することです。ただし、SQLクエリにLIMIT 10を追加すると、次のエラーが返されます。

エラー:文字列の終わりが必要ですが、 '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
_

何が悪いのですか?

29
mickburkejnr

私が知る限り、DQLのLIMITのようなステートメントは現在ありません。

Query :: setMaxResults() を使用する必要があります。

59
Raffael