【发布时间】:2018-06-28 14:09:15
【问题描述】:
我正在使用 Laravel (5.5) Lumen、PHP 7.2、MySQL 5.7,并且我在使用 MySQL 点空间字段类型的表中有一个字段。它创建正确,但我不知道如何从Seeder 填充它。
该字段是在这样声明的迁移中创建的:
$table->point('location')->spatialIndex();
其中$table 是Blueprint。
然后我尝试像这样播种:
DB::table('locations')->insert(
[
'location' => "ST_GeomFromText('POINT(140.7484404 -73.9878441)')"
]
);
或:
'location' => 'POINT(140.7484404 -73.9878441)'
我也试过这个,因为我添加了 grimzy/laravel-mysql-spatial 包:
'location' => new Grimzy\LaravelMysqlSpatial\Types\Point(140.7484404, -73.9878441)
但所有这些都给出了一些变化:
SQLSTATE[22003]:数值超出范围:1416 无法从您发送到 GEOMETRY 字段的数据中获取几何对象
这样做的正确方法是什么?
【问题讨论】:
-
我不知道如何解决这个问题 - 我没有使用 Builder。无论如何,蓝图都支持空间字段,因此不使用该包应该是可能的 - 我只是对它感兴趣以进一步增强。