सिम्फनी फ्रेमवर्क में एक ऐप/कंसोल फ़ाइल है जो कुछ रखरखाव कार्यों को करने के लिए php के माध्यम से निष्पादित की जा सकती है। यह उपयोगकर्ताओं को डीक्यूएल प्रश्नों को भी चलाने की अनुमति देता है:सिद्धांत मुझे विशिष्ट फ़ील्ड का चयन नहीं करने देगा
# php app/console doctrine:query:dql --hydrate=array \
'SELECT u.id, u.nameFirst, u.nameLast FROM DatabaseBundle:User u'
array
0 =>
array
'id' => string '1' (length=1)
'nameFirst' => string 'jaroslav' (length=8)
'nameLast' => string 'rakhmatoullin' (length=13)
1 =>
array
'id' => string '2' (length=1)
'nameFirst' => string 'Båb Kåre' (length=10)
'nameLast' => string 'Ytrefoss' (length=8)
ध्यान दें कि मैंने तीन विशिष्ट कॉलम चुने हैं। मेरी समस्या यह है कि एक समान क्वेरी मुझे एक त्रुटि देता है जब दो टेबल शामिल होते हैं।
# php app/console doctrine:query:dql --hydrate=array \
'SELECT u.id , r FROM DatabaseBundle:User u JOIN u.roles r'
[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col -1 near 'SELECT u.id ,':
Error: Cannot select entity through identification variables
without choosing at least one root entity alias.
निम्नलिखित रिटर्न पूरे उपयोगकर्ता अपनी भूमिकाओं के साथ शामिल हो गए:
# php app/console doctrine:query:dql --hydrate=array \
'SELECT u, r FROM DatabaseBundle:User u JOIN u.roles r'
जाहिर है, मैं कुछ याद कर रहा हूँ।
कोई विचार? मैं उचित दस्तावेज़ों के लिंक की भी सराहना करता हूं (इस विशिष्ट मामले पर)।
मैं बहुत अच्छी तरह से त्रुटि संदेश को समझने नहीं है, लेकिन मैं इसी तरह की त्रुटि संदेश का सामना कर रहा है, और r.id का चयन करके अपनी समस्या को सुलझाने याद है, तो मुझे लगता है आप और अधिक क्षेत्रों का चयन करने की कोशिश करनी चाहिए। – greg0ire
इसके बारे में क्या? '' यू.आई. चुनें, आर। * डाटाबेसबंडल से: यूजर यू यू यूरोल्स आर ' – jere
ग्रेग 0यर सही है। मुझे लगता है कि आप इस तरह की क्वेरी में एक फ़ील्ड और "इकाई" ऑब्जेक्ट का चयन नहीं कर सकते हैं। – jere