Doctrine LIMIT Синтаксическая Ошибка? - PullRequest
9 голосов
/ 09 июля 2011
'[Syntax Error] line 0, col 71: Error: Expected end of string, got 'LIMIT'' 

Вот мой код:

public function getLatestChapters()
    {
        return $this->_em->createQuery('SELECT c, m FROM models\Chapter c JOIN c.Manga m ORDER BY c.CreateDate LIMIT 10')->getResult();
    }

В чем может быть проблема для этого? Как я могу использовать LIMIT в Doctrine?

Я использую Doctrine 2

Ответы [ 2 ]

16 голосов
/ 09 июля 2011

Похоже, что нет LIMIT / OFFSET в DQL больше .

$qb = $em->createQueryBuilder();
//.. build your query
$q = $qb->getQuery();
$q->setFirstResult($offset);
$q->setMaxResults($limit);
$result = $q->getResult(); 
3 голосов
/ 01 июля 2015

Я хотел бы внести свой вклад в этот пост и сказать людям, что если вы хотите использовать DBAL с лимитом в своих модульных тестах, вы можете использовать следующее:

$client = static::createClient()
$em = $client->getContainer()->get('doctrine')->getManager();
$query = $em->createQuery('WRITE YOUR QUERY HERE');
$query->setFirstResult(0);
$query->setMaxResults(1);
$data = $query->getResult();

Тот же код можно использовать в контроллеретакже с некоторыми изменениями:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...