Laravel 5 调用未定义的方法Grimzy\LaravelMysqlSpatial\Eloquent\SpatialExpression::getLat()
我使用LaravelMySQL空间包在数据库中存储地理坐标。在其他地方使用时,例如,一切都很好。但是当我在一个观察者中使用它时,错误来了Laravel 5 调用未定义的方法Grimzy\LaravelMysqlSpatial\Eloquent\SpatialExpression::getLat(),laravel-5,Laravel 5,我使用LaravelMySQL空间包在数据库中存储地理坐标。在其他地方使用时,例如,一切都很好。但是当我在一个观察者中使用它时,错误来了 Call to undefined method Grimzy\LaravelMysqlSpatial\Eloquent\SpatialExpression::getLat() 以下代码不是给定点对象 public function created(Beneficiary $beneficiary) { dd($beneficiary
Call to undefined method Grimzy\LaravelMysqlSpatial\Eloquent\SpatialExpression::getLat()
以下代码不是给定点对象
public function created(Beneficiary $beneficiary)
{
dd($beneficiary);
}
但是当我使用下面创建的id检索数据时,它工作得很好
public function created(Beneficiary $beneficiary)
{
$beneficiary = Beneficiary::find($beneficiary->id);
dd($beneficiary);
}
但上述做法并不被视为良好做法。我已经有了一个对象,并再次调用它
预期结果。这个结果是在我调用以检索相同的数据之后出现的
#attributes: array:19 [▼
"id" => 95
"name" => "Test beneficiary"
"phone" => "80572*****"
"coordinates" => Point {#547 ▼
#lat: 30.3165
#lng: 78.0322
}
这就是我得到结果的方式
#attributes: array:16 [▼
"name" => "Test beneficiary"
"phone" => "80572*****"
"coordinates" => SpatialExpression {#521 ▼
#value: Point {#510 ▼
#lat: 30.3165
#lng: 78.0322
}
}
请执行以下操作:
$p = Point::fromWKT($elm->coordinates->getSpatialValue());
现在您可以使用:
$p->getLng()
$p->getLat()
请执行以下操作:
$p = Point::fromWKT($elm->coordinates->getSpatialValue());
现在您可以使用:
$p->getLng()
$p->getLat()