Hola
Parece que ahora con DoctrineExtensions funciona bien, el tema está en "GROUP BY" (me parece, soy novato)
con este código que se encuentra en Repository/BlogRepository.php
Código:
$qb = $this->createQueryBuilder('b')
->select('b, c')
->leftJoin('b.comments', 'c')
->groupBy('b')
->addOrderBy('b.created', 'DESC');
if (false === is_null($limit))
$qb->setMaxResults($limit);
quitando el "groupBy" no funciona bien el límite, en lugar de 4 resultados (ej.) devolvía 3, y asi con otros números para $limit.
supongo que es por el leftJoin.
con "groupBy('b')" funciona el límite, pero como decía antes la cantidad de blog.comments si era mayor que 0, siempre quedaba en 1.
Con la nueva extensión no puedo usar el código en BlogRepository.php, o no se como hacerlo.
Anteriormente tenía un problema con $this->createQueryBuilder('b'), parece la función de paginate esperaba un objecto Query en lugar de QueryBuilder
entonces lo implementé en el controller directamente
así
Código:
public function indexAction()
{
$em = $this->getDoctrine()
->getEntityManager();
$qb = $em->createQuery('SELECT b, c FROM BloggerBlogBundle:Blog b LEFT JOIN b.comments c');
$count = Paginate::getTotalQueryResults($qb); // Step 1
$paginateQuery = Paginate::getPaginateQuery($qb, 0, 3); // Step 2 and 3
$latestBlogs = $paginateQuery->getResult();
return $this->render('BloggerBlogBundle:Page:index.html.twig', array(
'blogs' => $latestBlogs
));
}
y funciona bien, antes no había funcionado porque había agregado "GROUP BY b" en la consulta
Una pregunta: es posible obtener la query en BlogRepository , como lo estaba haciendo antes?
gracias de nuevo, y disculpas si esto es confuso