geoNear()
phương pháp trình tạo truy vấn không nhằm mục đích sử dụng trên một trường. near()
là phương thức trình tạo sẽ tuân theo một field()
tiêu điểm. Bạn có thể xem cả hai phương pháp trình tạo này làm gì trong Builder.php
trong dự án học thuyết / mongodb. Lưu ý rằng geoNear()
thay đổi loại truy vấn (tương tự như những gì update()
làm). Sau đó, loại truy vấn được kiểm tra trong Truy vấn. php
(làm theo câu lệnh switch) và xác định cách chúng tôi đưa ra truy vấn trên bộ sưu tập. Một số là các hoạt động truy vấn thực tế, nhưng những thứ như map / Reduce và geoNear là các lệnh.
Xem đoạn mã sau có hoạt động không:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
Nếu không, vui lòng gỡ lỗi các giá trị mà Query.php chuyển đến Collection::near()
phương pháp. Ngoài ra, bạn có thể gỡ lỗi toàn bộ mảng truy vấn được tạo bởi trình tạo bằng cách sử dụng Query::getQuery()
phương pháp.