2011-07-09 19 views
9
'[Syntax Error] line 0, col 71: Error: Expected end of string, got 'LIMIT'' 

Oto mój kod:Doctrine LIMIT Błąd składni?

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(); 
    } 

Co może posibly problemu dla tego? Jak korzystać z LIMIT w Doctrine?

Używam Doctrine 2

Odpowiedz

15

Wygląda jest no LIMIT/OFFSET w DQL anymore.

$qb = $em->createQueryBuilder(); 
//.. build your query 
$q = $qb->getQuery(); 
$q->setFirstResult($offset); 
$q->setMaxResults($limit); 
$result = $q->getResult(); 
3

chciałbym przyczynić się do tego postu, ale chcę powiedzieć ludziom, że jeśli chcesz używać DBAL z limitem w swoich testach jednostkowych można użyć następujących:

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

sam kod może być użyty w kontrolerze również z pewnymi modyfikacjami :)