2011-11-06 9 views
16

Sto cercando di ottenere tutti i commenti per ogni post nella mia home pagedottrina 2 generatore di query e unisciti tabelle

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

ma sto ottenendo questo errore

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

PS: La mappatura è corretto perché posso vedere l'articolo della pagina con i suoi commenti.

+1

ho scoperto come ragazzi qui 'return $ this-> createQueryBuilder ('a') -> selezionare ('a, c') -> leftJoin ('a.comments', 'c ') -> getQuery() -> getResult(); ' – kosaidpo

+0

puoi controllare http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables Ho provato la soluzione ma il suo non funziona fo me .. – TomPHP

risposta

36

Nel caso in cui questo è ancora ti dà problemi, qui è la vostra query utilizzando la sintassi trovato negli esempi del 2.1 documentazione di Doctrine.

sto assumendo la query risiede in un metodo repository personalizzati, che e 'a' è l'abbreviazione di 'Articolo'.

$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 riferimento a questa domanda che sto cercando di risolvere il mio problema, ma sto affrontando problemi. http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables – TomPHP

Problemi correlati