gpt4 book ai didi

php - 使用 Laravel 的播种以 ST_GEOMFROMTEXT 播种坐标,导致错误

转载 作者:行者123 更新时间:2023-11-29 02:13:17 24 4
gpt4 key购买 nike

我正在尝试制作种子文件来为我的 table 播种。但问题是,一个字段是 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))')

但这导致我出错:

Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field

这是函数:

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))')"
]);
}

从坐标可以看出,那么起点和终点是同一个。语法也是正确的。所以我不知道,我做错了什么。谁能引导我走上正轨?

最佳答案

对于未在 https://laravel.com/docs/5.0/schema#adding-columns 下列出的事物尝试使用 DB::raw()

https://laravel.com/docs/5.4/database#running-queries

请记住,它会将您的应用限制为接受该语法的特定数据库引擎。

理想情况下,您将使用您的类型扩展语法并针对您的应用程序可能运行/测试的所有数据库引擎修改它,例如用于单元测试的 sqlite。

关于php - 使用 Laravel 的播种以 ST_GEOMFROMTEXT 播种坐标,导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com