2015-02-11 7 views
5

मुझे एक MyQL डेटाबेस से उपयोगकर्ताओं और भूमिकाओं को पुनर्प्राप्त करने के लिए एक DQL क्वेरी के साथ समस्या हो रही है। मैं ज़ेंड फ्रेमवर्क 2 और सिद्धांत 2 का उपयोग कर रहा हूं।डीक्यूएल क्वेरी त्रुटि अपेक्षित लिटरल उत्पन्न करती है, 'BY'

क्वेरी निम्नानुसार है। त्रुटि::

public function getUsers() 
{ 
    $builder = $this->getEntityManager()->createQueryBuilder(); 
    $builder->select('u, r') 
      ->from('Application\Entity\Users', 'u') 
      ->leftJoin('Application\Entity\UserRoles', 'r') 
      ->orderBy("u.emailAddress", "ASC"); 

    InfoLogger::vardump($builder->getDQL()); 

    return $builder->getQuery()->getResult(Query::HYDRATE_OBJECT); 
} 

ऊपर क्वेरी त्रुटि, [विन्यास त्रुटि] लाइन 0, col 91 का उत्पादन शाब्दिक अपेक्षित हैं, 'द्वारा'

उत्पन्न DQL मिला

SELECT u, r FROM Application\Entity\Users u LEFT JOIN Application\Entity\UserRoles r ORDER BY u.emailAddress ASC 
सकते हैं

कोई है कृपया इस प्रश्न के साथ क्या गलत है, बहुत धन्यवाद।

उत्तर

7

मैंने इसे समझ लिया है।

समस्या लाइन

->leftJoin('Application\Entity\UserRoles', 'r') 

यह

->leftJoin('u.userRole', 'r') 

userRole मेरी इकाई \ उपयोगकर्ता कक्षा में परिभाषित किया गया है किया जाना चाहिए था के साथ था।

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