如何在Laravel中的MySQL查询中插入[Spatial Point]值

Mah*_*sar 4 mysql geometry point geolocation laravel

我有一个表,其列的类型为Spatial point,

我希望查询使用laravel插入该列的值

是否有查询以获取特定范围内的商品?

任何帮助这里?

那是我的桌子在这里:

public function up()
{
    Schema::create('markers', function(Blueprint $table)
    {
        $table->integer('marker_id')->primary();
        $table->string('marker_name', 45);
        $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
    });
    DB::raw("ALTER TABLE markers ADD COLUMN location POINT");
}
Run Code Online (Sandbox Code Playgroud)

Nis*_*ani 7

您可以按以下方式插入数据:

ModelName::firstOrCreate(
    array(
        ..//other fields
        'location' => DB::raw("(GeomFromText('POINT(37.774929 -122.419415)'))")
    )
);
Run Code Online (Sandbox Code Playgroud)

要检索数据:

SELECT X(`location`), Y(`location`) FROM markers;
Run Code Online (Sandbox Code Playgroud)

我也被困在这里并从以下人员得到帮助:使用Laravel Eloquent ORM的Spatial Point函数。希望这可以帮助。