Laravel:Geocoder对null上的成员函数的错误调用 一般资料

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:

我用的是软件包

GeocoderraLevel版本:4.0.0

Laravel版本:5.6

PHP版本:7.2.4

操作系统和版本:Windows 10

问题说明
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。我想如果找不到坐标,它会返回一个空集合。说得对。我的服务器可能有问题,因为它在我重新提交时找到了坐标。有些东西沟通不正常。