使用Laravel 8 + Voyager + Swagger如说明https://voyager-docs.devdojo.com/v/1.1/customization/coordinates-使用点列的几何类型
Schema::create('offices', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('address')->nullable();
$table->geometry('points')->nullable();
$table->timestamps();
});
但在API响应中出现错误-
mb_convert_encoding(\DB::raw($this->attributes['points']), 'UTF-8'); - return
"points": "\u0000\u0000\u0000\u0000\u0001\u0001\u0000\u0000\u0000??\u0010??bR??Ng???D@",
请帮助返回正确的值。
1条答案
按热度按时间sxissh061#
在响应中返回一个已知的二进制?我从未使用过Voyager或Swagger,但是,要在Laravel中使用几何字段中的坐标,可以使用的一个选项是访问器/突变器。
获取坐标数组的简单方法是使用ST_AsGeoJSON函数将字段作为GeoJSON获取,然后使用json_decode返回坐标字段。
这样的东西可以返回坐标: