【发布时间】:2018-01-29 17:20:12
【问题描述】:
我正在尝试制作播种器文件来播种我的桌子。但问题是一个字段是 POLYGON 类型,根据 SQL,我必须使用 ST_GEOMFROMTEXT 插入坐标。
我尝试在没有播种的情况下执行的查询仅使用 SQL 即可完美运行
所以我正在尝试这样:
ST_GEOMFROMTEXT('POLYGON((27.35321 57.515823,27.279053 57.53499399999998,27.349091 57.533151,27.352524 57.51637600000001,27.35321 57.515823))')
但这会导致我出错:
数值超出范围:1416 无法从数据中获取几何对象 您发送到 GEOMETRY 字段
这是函数:
public function run(){
DB::table('country')->insert([
'polygon' => "ST_GEOMFROMTEXT('POLYGON((27.35321 57.515823,27.279053 57.53499399999998,27.349091 57.533151,27.352524 57.51637600000001,27.35321 57.515823))')"
]);
}
从坐标可以看出,那么起点和终点是相同的。语法也是正确的。所以我不知道,我做错了什么。谁能引导我走向正确的轨道?
【问题讨论】:
-
你试过 DB::raw 吗?
-
@Tschallacka 哦,那是我没有尝试过的。我刚刚做到了,它奏效了。非常感谢。工作太多不好。
-
除了 DB::raw 还有其他方法吗?
-
@SaquibLari 你可以使用github.com/njbarrett/laravel-postgis
标签: php mysql sql laravel laravel-seeding