保存或检索时的 Laravel 空间错误

Posted

技术标签:

【中文标题】保存或检索时的 Laravel 空间错误【英文标题】:Laravel Spatial error on save or retrieve 【发布时间】:2022-01-16 00:50:51 【问题描述】:

我的代码运行良好,但突然之间我遇到了一个非常奇怪的错误。 (真的突然间!我没有更改任何代码行!只有我的 mac 更新到最新版本,老实说我不明白这怎么可能是个问题!)

当我尝试保存或检索任何具有点数据类型的实体时,我会收到以下异常:

php 致命错误:在继承 JsonSerializable 期间:未捕获 ErrorException:Grimzy\LaravelmysqlSpatial\Types\Point::jsonSerialize() 的返回类型应与 JsonSerializable::jsonSerialize(): 混合或 #[\ReturnTypeWillChange ] 属性应该用于暂时抑制 /Users/amirpeivandi/Projects/nwrew​​ards/vendor/grimzy/laravel-mysql-spatial/src/Types/Point.php:93 中的通知

知道这可能是什么吗?

阿米尔

【问题讨论】:

【参考方案1】:

您应该要求包开发人员修复此错误,并将您的包更新到新版本

【讨论】:

【参考方案2】:

我认为这个错误是由于未能将空间特征和受保护的空间字段添加到模型中造成的。

use Grimzy\LaravelMysqlSpatial\Eloquent\SpatialTrait;

class User

    use SpatialTrait;

    protected $spatialFields = [
        'location',
    ];

您可以在 GitHub here 上阅读有关此要求的信息。

【讨论】:

以上是关于保存或检索时的 Laravel 空间错误的主要内容,如果未能解决你的问题,请参考以下文章

调程序时的小错误

使用 Laravel 播种 MongoDB 时的 authenticationDatabase 错误

使用 laravel 验证检查唯一的日期/时间

我想自学laraver,请诸位前辈给一些建议,谢谢

将数组从 AuthController 传递到 Laravel 5 中的登录视图

Laravel 刀片上的 Vuejs