laravel geoly
Minor bigfixes
Laravel Eloquent モデルで高速かつ効率的な半径検索を実行します。
Laravel Geoly は、Laravel Eloquent モデルが位置の周囲の特定の半径内でクエリを実行する便利な方法を提供します。境界ボックスを使用して考えられる結果を絞り込み、残りのサブセットのみで距離を計算することで、超高速に実行できます。 Laravel Geoly は MySQL と PostgreSQL の両方で動作します。
Composer 経由でプロジェクトを要求するだけです。
$ composer require akuechler/laravel-geoly
Geoly は、雄弁なモデルの 2 つの列の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 地理スクリプトおよび Movable Type スクリプトの記事に大きく影響を受けています。