对null上的成员函数getName()的Laravel路由调用

对null上的成员函数getName()的Laravel路由调用,laravel,routes,Laravel,Routes,我有一个非常简单的特点,管理网站导航,其中包含导航项目数组。我有另一种方法来检查路由并设置项目的活动类。它在浏览器中运行良好,但在终端中使用artisan时出现以下错误 特征法 Symfony\Component\Debug\Exception\fatalthrowable错误:调用 null上的成员函数getName() 特征全码 好的,解决了。通过检查当前路由,使用条件包装 protected function getActiveClass($routeName) { if (Rou

我有一个非常简单的特点,管理网站导航,其中包含导航项目数组。我有另一种方法来检查路由并设置项目的活动类。它在浏览器中运行良好,但在终端中使用
artisan
时出现以下错误

特征法 Symfony\Component\Debug\Exception\fatalthrowable错误:调用 null上的成员函数getName()

特征全码
好的,解决了。通过检查当前路由,使用条件包装

protected function getActiveClass($routeName)
{
    if (Route::is($routeName)) {
        return (Route::current()->getName() == $routeName) ? 'active' : NULL;
    }

    return NULL;
}
你可以用

if ($request->route()->named($routeName)) {
     return 'active';
}

return NULL;

我正在使用它获取当前路线名称

@if (request()->route())
@if (in_array(request()->route()->getName(), @$settings->getArray()))

@endif
@endif
通过在顶部检查
request()->route()
我们可以避免
null
错误。而
request()->route()->getName()
将给出路由名称

if ($request->route()->named($routeName)) {
     return 'active';
}

return NULL;
@if (request()->route())
@if (in_array(request()->route()->getName(), @$settings->getArray()))

@endif
@endif