gpt4 book ai didi

php - 使用 Laravel Lumen 播种空间字段

转载 作者:行者123 更新时间:2023-12-04 13:46:03 26 4
gpt4 key购买 nike

我正在使用 Laravel (5.5) Lumen、PHP 7.2、MySQL 5.7,并且我在使用 MySQL 点空间字段类型的表中有一个字段。它已正确创建,但我不知道如何从 Seeder 中填充它.

该字段是在如下声明的迁移中创建的:

$table->point('location')->spatialIndex();

哪里 $tableBlueprint .

然后我尝试像这样播种:
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]: Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field



这样做的正确方法是什么?

最佳答案

我知道已经两年多了,我用 point 解决了类似的问题使用 DB::raw像这样:

'location' => \DB::raw('POINT(140.7484404 -73.9878441)')
DB::raw , POINT(x,y) INSERT的一部分查询被包裹在 ' .
更多信息 DB::raw在这里 lumen/ laravel文档。

关于php - 使用 Laravel Lumen 播种空间字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48339323/

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