geoNear()
क्वेरी बिल्डर विधि किसी फ़ील्ड पर उपयोग करने का इरादा नहीं है। near()
बिल्डर विधि है जो field()
. का पालन करेगी केंद्र। आप देख सकते हैं कि ये दोनों निर्माता विधियां बिल्डर.php
सिद्धांत/मोंगोडब परियोजना के भीतर। ध्यान दें कि geoNear()
क्वेरी प्रकार को बदलता है (update()
. के समान) करता है)। फिर क्वेरी प्रकार को क्वेरी में चेक किया जाता है। php
(स्विच स्टेटमेंट का पालन करें) और यह निर्धारित करता है कि हम संग्रह पर क्वेरी कैसे जारी करते हैं। कुछ वास्तविक क्वेरी ऑपरेशन हैं, लेकिन मैप/रिड्यूस और जियोनियर जैसी चीजें कमांड हैं।
देखें कि क्या निम्न कोड काम करता है:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
यदि नहीं, तो कृपया उन मानों को डीबग करें जो Query.php Collection::near()
को पास करते हैं तरीका। वैकल्पिक रूप से, आप Query::getQuery()
का उपयोग करके बिल्डर द्वारा उत्पन्न संपूर्ण क्वेरी सरणी को डीबग कर सकते हैं विधि।