2011-11-06 16 views
16

मैं अपना मुखपृष्ठसिद्धांत 2 क्वेरी बिल्डर और शामिल होने के टेबल

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

में प्रत्येक पद के लिए सभी टिप्पणियों पाने के लिए कोशिश कर रहा हूँ, लेकिन मैं इस त्रुटि हो रही है

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

पुनश्च: मानचित्रण सही है क्योंकि मैं पेज टिप्पणियों को अपनी टिप्पणियों के साथ देख सकता हूं।

+1

मैं पता चला कि कैसे यहां लोग '$ this-> createQueryBuilder ('एक') वापसी -> का चयन करें ('एक, ग') -> leftJoin ('a.comments', 'ग ') -> getQuery() -> getResult(); ' – kosaidpo

+0

क्या आप http://stackoverflow.com/questions/17115165/doctrine-inner-left- join-two-tables जांच सकते हैं मैंने आपके समाधान की कोशिश की लेकिन इसकी मेरे लिए काम नहीं कर रहा .. – TomPHP

उत्तर

36

यदि यह अभी भी आपको समस्याएं दे रहा है, तो यहां सिद्धांत क्वेरी 2.1 दस्तावेज़ों में दिए गए वाक्यविन्यास का उपयोग करके आपकी क्वेरी है।

मुझे लगता है कि आपकी क्वेरी कस्टम रिपोजिटरी विधि में रहती है, और 'ए' 'अनुच्छेद' का संक्षेप है।

$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

इस प्रश्न के संदर्भ में मैं अपनी समस्या का समाधान करने की कोशिश कर रहा हूं लेकिन मुझे मुद्दों का सामना करना पड़ रहा है। http://stackoverflow.com/questions/17115165/doctrine-inner-left-join-two-tables – TomPHP

संबंधित मुद्दे