2010-06-04 11 views
7

मैंDQL क्वेरी विफल रहता है

Installedbase: 
ib_id 
app_id 
location 

और

Spare: 
spare_id 
app_id 
amount 

अब, एक MySQL DB में 2 टेबल मिल गया है सिद्धांत 1.2 और सिम्फोनी 1.4.4

Installedbase और स्पेयर का उपयोग कर im मैं यह दिखाने के लिए टेबल में शामिल होना चाहते हैं कि कितने ऐप अतिरिक्त हैं।

उदा।

$q = self::createQuery("l") 
->select('i.*, s.*') 
->from('InstalledBase i, Spare s') 
->execute(); 

return $q; 

सिद्धांत जानता है वहाँ APP_ID मैदान पर तालिकाओं के बीच एक रिश्ता है, लेकिन मैं त्रुटि मिलती है

500 | Internal Server Error | Doctrine_Hydrator_Exception 
"Spare" with an alias of "s" in your query does not reference the parent component it is related to. 

YAML: http://pastey.net/137237 मैं इस एक आंकड़ा बाहर नहीं कर सकते, किसी को पता है कि क्या सिद्धांत है के बारे में शिकायत?

+0

कृपया अपना प्रश्न संपादित करें और संबंधों सहित, अपने स्कीमा से प्रासंगिक अनुभाग दिखाएं। – richsage

+0

किया गया http://pastey.net/137237 – iggnition

उत्तर

4
->from('InstalledBase i, i.Spare s') 

... आपकी क्वेरी में "एस" के उपनाम के साथ "अतिरिक्त" यह उस मूल घटक का संदर्भ नहीं देता है जो उससे संबंधित है।

इस क्वेरी में कुछ और मानदंड जोड़ें जो दोनों टेबलों से सबकुछ वापस न करें।

0

इसकी प्रकृति से, आपने सिद्धांत को नहीं बताया है कि उन 2 तालिकाओं से संबंधित हैं।

+0

मेरी schema.yml में मैंने ऐप_आईडी फ़ील्ड दोनों पर कई संबंधों को जोड़ा है, इसलिए इसे पता होना चाहिए। – iggnition