Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to insert [Spatial Point] values with a query in MySQL in Laravel

I have a table with a column of type Spatial point ,,

I want the query to insert the values of that column with laravel

and if there a queries to get items within a specific range ?

any help here ??

That's my table here :

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");
}
like image 806
Mahmoud Nassar Avatar asked Feb 21 '15 11:02

Mahmoud Nassar


1 Answers

You can insert data as follows:

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

To retrieve data:

SELECT X(`location`), Y(`location`) FROM markers;

I too was stuck here & got help from: Spatial Point functions using Laravel Eloquent ORM. Hope this helps.

like image 58
Nishant Jani Avatar answered Oct 26 '22 06:10

Nishant Jani