2011-11-06 28 views
16

que estoy tratando de conseguir todos los comentarios de cada post en mi página de iniciodoctrina 2 generador de consultas y unir tablas

return 
$this->createQueryBuilder('c') 
->select('c') 
->from('Sdz\BlogBundle\Entity\Commentaire' ,'c')     
->leftJoin('a.comments' ,'c')->getQuery()->getResult() ; 

pero estoy recibiendo este error

[Semantical Error] line 0, col 58 near '.comments c,': Error: 
Identification Variable a used in join path expression but was not defined before. 

PS: El mapeo es correcto porque puedo ver el artículo de la página con sus comentarios.

+1

descubrí lo chicos aquí 'volver $ this-> createQueryBuilder ('a') -> seleccionar ('a, c') -> leftJoin ('a.comments', 'c ') -> getQuery() -> getResult(); ' – kosaidpo

+0

puede por favor comprobar http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables Probé solución pero es no funciona para mí .. – TomPHP

Respuesta

36

En caso de que esto todavía le esté dando problemas, aquí está su consulta usando la sintaxis encontrada en los ejemplos en la documentación de Doctrine 2.1.

Supongo que su consulta reside en un método de repositorio personalizado, y que 'a' es la abreviatura de 'Artículo'.

$em = $this->getEntityManager(); 
$qb = $em->createQueryBuilder(); 

$qb->select(array('a', 'c')) 
    ->from('Sdz\BlogBundle\Entity\Article', 'a') 
    ->leftJoin('a.comments', 'c'); 

$query = $qb->getQuery(); 
$results = $query->getResult(); 

return $results; 
+0

con referencia a esta pregunta, estoy tratando de resolver mi problema, pero estoy enfrentando problemas. http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables – TomPHP

Cuestiones relacionadas