Laravel:Geocoder对null上的成员函数的错误调用 一般资料
我用的是软件包 GeocoderraLevel版本:4.0.0 Laravel版本:5.6 PHP版本:7.2.4 操作系统和版本:Windows 10 问题说明Laravel:Geocoder对null上的成员函数的错误调用 一般资料,laravel,laravel-5,Laravel,Laravel 5,我用的是软件包 GeocoderraLevel版本:4.0.0 Laravel版本:5.6 PHP版本:7.2.4 操作系统和版本:Windows 10 问题说明 fatalthrowable错误(E_错误) 在null上调用成员函数getStreetNumber() 这种情况可能会发生1/10次。即使我使用相同的坐标。剩下的时间,它工作得很好。如果我收到错误,只需刷新/重新提交表单,它就会工作。所以不知道如何解决这个问题 我的一个猜测是,在对象返回到$geo之前,它正在退出Location:
fatalthrowable错误(E_错误)
在null上调用成员函数getStreetNumber()
这种情况可能会发生1/10次。即使我使用相同的坐标。剩下的时间,它工作得很好。如果我收到错误,只需刷新/重新提交表单,它就会工作。所以不知道如何解决这个问题
我的一个猜测是,在对象返回到$geo
之前,它正在退出Location::create()
,但我不知道可以做什么来修复它。任何帮助都将不胜感激
这是我的控制器:
$lat = request('lat');
$lng = request('lng');
$geo = Geocoder::reverse($lat, $lng)->get()->first();
$location = Location::create([
'lat' => $lat,
'lng' => $lng,
'user_id' => Auth::user()->id,
'streetNumber' => $geo->getStreetNumber(),
'streetName' => $geo->getStreetName(),
'cityDistrict' => $geo->getSubLocality(),
'city' => $geo->getLocality(),
'zipcode' => $geo->getPostalCode(),
'country' => $geo->getCountry(),
'timezone' => $geo->getTimezone()
]);
我不熟悉这个包,但是如果
Geocoder::get()
返回一个空集合,$geo
将为null。我想如果找不到坐标,它会返回一个空集合。说得对。我的服务器可能有问题,因为它在我重新提交时找到了坐标。有些东西沟通不正常。