laravel geoly
Minor bigfixes
在 Laravel Eloquent 模型上執行快速且有效率的半徑搜尋。
Laravel Geoly 為您的 Laravel Eloquent 模型提供了一種便捷的方式,可以在某個位置周圍的特定半徑內進行查詢。透過使用邊界框來減少可能的結果並僅計算剩餘子集的距離,速度快如閃電。 Laravel Geoly 可在 MySQL 和 PostgreSQL 上運作。
只需透過作曲家要求項目:
$ composer require akuechler/laravel-geoly
Geoly 假設您的雄辯模型上有兩列latitude
和longitude
。如果尚不存在,只需將它們添加到您的遷移中即可。
$ table -> double ( ' latitude ' );
$ table -> double ( ' longitude ' );
如果您希望對資料庫列使用其他名稱,請在模型中指定它們。
const LATITUDE = ' lat ' ;
const LONGITUDE = ' lng ' ;
在 Eloquent 模型中使用 Geoly 套件。
class YourModel extends Model
{
use Geoly ;
...
}
若要搜尋某個位置周圍特定半徑內的所有模型,請將radius
範圍新增至查詢。
$ query = YourModel :: radius ( $ latitude , $ longitude , $ radius );
$ query -> get ();
該專案很大程度上受到 Laravel 地理和可移動類型腳本有關在邊界圓內選擇點的文章的啟發。