次の例に従ってください: http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html
私は持っている:
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$query = $dm->createQueryBuilder('MainClassifiedBundle:Listing')->field('residentialOrCommercial')->equals($residentialOrCommercial);
if ($propertyType != 'All Property Types')
{
$query->field('propertyType')->equals($propertyType);
}
$query->field('askingPrice')->range($minPrice, $maxPrice)->field('coordinates')->geoNear((float)$longitude, (float)$latitude)->spherical(true);
if($radius!=0)
{
$query->maxDistance($radius);
}
$classifieds = $query->limit(5)->skip(2)->getQuery()->execute();
すべてが正常に機能しますが、スキップ フィールドはまったく違いがありません。1 を入れても 1000 を入れても、同じ結果セットが得られます。
私は何が欠けていますか?
更新: 別のドキュメント コレクションでもこれをテストしたところ、機能することがわかりました。geoNear についての何かが、私にとってスキップを台無しにしているものです。