2013-08-05 5 views
5

मैं कहाँ उल्टा संघ (1 संघ एक 1 पर) मौजूद नहीं है एक इकाई लाने के लिए इच्छा के लिए अभिव्यक्ति प्राप्त करने के लिए प्रश्न:सिद्धांत DQL:</p> <p>मैं त्रुटि मिलती है:</p> <blockquote> <p>A single-valued association path expression to an inverse side is not supported in DQL queries. Use an explicit join instead.</p> </blockquote> <p>: कैसे उल्टा पक्ष

$query = $this->getEntityManager()->createQuery(" 
       SELECT DISTINCT(p.date) 
       FROM MainBundle:Price p 
       WHERE p.emaPrice IS NULL 
       ORDER BY p.date ASC 
      ") 
      ->setMaxResults(1); 
     $date = $query->getOneOrNullResult(); 

मैं त्रुटि को समझता हूं, लेकिन मैं वास्तव में इसे ठीक करने पर फंस गया हूं। मैंने पढ़ा है कि मुझे एक स्पष्ट जॉइन जोड़ना चाहिए, लेकिन मैंने इसे जोड़ा है और अभी भी कोई भाग्य नहीं है।

संपादित साथ क्वेरी में शामिल होने:

$query = $this->getEntityManager()->createQuery(" 
     SELECT DISTINCT(p.date) 
     FROM MainBundle:Price p 
     JOIN MomentumBundle:EmaPrice ep 
     WITH ep.id = p.emaPrice 
     WHERE p.emaPrice IS NULL 
     ORDER BY p.date ASC 
    ") 
    ->setMaxResults(1); 
$date = $query->getOneOrNullResult(); 
+0

कैसे आपकी क्वेरी नज़र करता है शामिल होने के साथ पसंद है? – Flip

+0

@Flip क्वेरी में शामिल हों – Tjorriemorrie

+0

क्या आप इसे देशी एसक्यूएल में काम करने के लिए प्राप्त कर सकते हैं? – Flip

उत्तर

4

मैं मुझे इस हल की मदद करने में @Flip धन्यवाद देता हूँ और उनके महान समर्थन के लिए @lifo चाहते हैं:

$query = $this->getEntityManager()->createQuery(" 
     SELECT DISTINCT(p.date) 
     FROM MainBundle:Price p 
     LEFT JOIN MomentumBundle:EmaPrice ep 
     WITH ep.price = p.id 
     WHERE ep IS NULL 
     ORDER BY p.date ASC 
    ") 
    ->setMaxResults(1); 
$date = $query->getOneOrNullResult(); 
संबंधित मुद्दे