Sono un principiante di symfony e voglio creare un blog con il framework. Io uso repository per ottenere articoli a casa con questo metodo:limite e offset di doctrine querybuilder
public function getHomeArticles($offset = null, $limit = null)
{
$qb = $this->createQueryBuilder('a')
->leftJoin('a.comments', 'c')
->addSelect('c')
->addOrderBy('a.created', 'DESC');
if (false === is_null($offset))
$qb->setFirstResult($offset);
if (false === is_null($limit))
$qb->setMaxResults($limit);
return $qb->getQuery()
->getResult();
}
quindi nel mio database ho 10 articoli. Io uso il mio BlogController:
$blog = $em->getRepository('TestBlogBundle:Article')
->getHomeArticles(3,4);
Con questo voglio 4 articoli. Ma in cambio ho anche un articolo.
Qual è il problema?
Bene, tutto sembra a posto tranne "addSelect ('c')" prova a rimuovere questa riga di codice. Assicurarsi inoltre che ci siano veramente 10 o più commenti nel database. Oh, bene, questo articolo [url] http://stackoverflow.com/questions/10701792/doctrine2-limiting-with-left-joins-pagination-best-practice [/ url] potrebbe aiutare. –
grazie Vadim. ho 10 articoli (e 20 commenti). provo a rimuovere addSelect ma non funziona. non capisco perché questo codice non funziona ... – Astram56