2012-10-03 77 views
0

根據蒙戈ODM,應該能夠接近查詢後得到的距離:查詢附近的Mongo ODM不填充距離屬性。它是空的?

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/geospatial-queries.html#distance

當我使用不久的查詢,因爲它顯示在文檔中,我能夠得到的結果卻距離從未被添加。

這裏是我的查詢:

$query = $dm->createQueryBuilder('SomeBundle:Blah') 
     ->select('id', 'name', 'distance', 'propertyType', 'squareFootage')->field('coordinates')->near($latitude, $longitude); 

$results = $query->getQuery()->execute(); 


foreach ($results as $city) { 
    echo $city->name.': '.$city->distance."\n"; 
} 

我的距離屬性被設置爲:

/** @MongoDB\Distance */ 
    public $distance; 

我沒有得到任何結果。 Mongo ODM有錯誤嗎?

+0

嘗試提取mongo查詢並嘗試通過控制檯進行查詢。 (用於調試) – Marc

回答

0

而不是使用

$query->near($latitude, $longitude); 

你需要使用

$query->geoNear($latitude, $longitude) 

如果要填充的距離。

+0

它是$ query-> geoNear($ longitude,$ latitude);如果指數是球形,則爲正確的距離值 – Sekai