如何使用laravel将Lat和Lng插入mysql中的point类型列?

时间:2014-11-24 21:04:20

标签: mysql google-maps laravel spatial

这是我的代码

$map_point->map_id = $id;
$map_point->point = GeomFromText('POINT('.$lat .' '.$lng.')');
$map_point->save();

它给了我

Call to undefined function GeomFromText()

那么这里有什么问题?

1 个答案:

答案 0 :(得分:0)

GeomFromText实际上是一个在SQL中执行的MySQL函数。如果您需要使用它,则必须使用DB::raw("GeomFromText('POINT('.$lat .' '.$lng.')')")

我从未尝试过在模型上使用DB::raw(),但理论上它可以正常工作。但是,这可能意味着您需要使用“查询”构建器查询来执行此操作而不是Eloquent。

此外,在使用DB::raw或查询构建器时,请非常小心地直接包含变量。这些都是可能的注射点。