2012-05-08 15 views
5

पर गिनती से जुड़ें मैं एक DQL प्रश्न हैं यह पसंद है? मैं गिनती द्वारा क्रमबद्ध केवल परियोजनाएं प्राप्त करना चाहता हूं, [प्रोजेक्ट] और [ucnt] के साथ सरणी नहीं।आदेश एक DQL assiociation

उत्तर

5

सिद्धांत 2.2 (source) से शुरू: संदेश: [विन्यास त्रुटि] लाइन 0, col 72: त्रुटि

SELECT a, COUNT(b.id) AS HIDDEN c [...] ORDER BY c 
+0

मैं इसे आज़माउंगा, क्योंकि अब मेरा समाधान इकाई को काउंटर जोड़ना था और उसके बाद ऑर्डर करना था, लेकिन छुपा हुआ और अधिक अच्छा दिखता है :-) –

+0

धन्यवाद, आदमी! आपने वास्तव में मेरी मदद की। –

-1

प्रयास करें:

$dql = "SELECT p FROM IAA\Entity\Project p " . 
     "JOIN p.likedByUsers u ORDER BY count(u.id)"; 
$query = $this->_em->createQuery($dql); 
+0

हाँ, मैं कोशिश की है, यह एक त्रुटि देता है : स्ट्रिंग का अपेक्षित अंत, '(' –

+0

मिला लेकिन इस मामले में आप 2 मानों का चयन कर सकते हैं और उसके बाद PHP कोड में गिनती मान को अनदेखा कर सकते हैं। –

+0

मैं नहीं कर सकता, यह सिंकैक्स त्रुटि देता है। मुझे पता है कि मैं PHP में सरणी को पुन: व्यवस्थित कर सकता हूं लेकिन यह एक सुरुचिपूर्ण समाधान नहीं लगता है, केवल प्रो को लाने का तरीका होना चाहिए बिना किसी गिनती के जांघों ने उन्हें आदेश दिया है। –