我正在使用带有Spatie Permissions软件包的Laravel,并且工作正常!
我还尝试使用Authorizable
特性来管理角色和权限。
问题似乎出在$routeName = explode('.', \Request::route()->getName());
上。
我希望从\Request::route()->getName()
得到的结果posts.index
,但我为空。
\Request::route()->getName()
仅在我通过使用->name('posts/index')
(结果为posts/index
)在路由中定义了属性“名称”时起作用
为什么\Request::route()->getName()
在我的应用中为null?我在做什么错了?
答案 0 :(得分:1)
您可以使用
Route::currentRouteName(); //use Illuminate\Support\Facades\Route;
但您也可以通过以下方式获取路线的操作
Route::getCurrentRoute()->getActionName();
答案 1 :(得分:0)
要获取路线名称,您需要使用
$name = Route::currentRouteName();
和use Illuminate\Support\Facades\Route;
Request::route()->getName()
仅适用于laravel <5。*
答案 2 :(得分:0)
我不确定为什么要得到这个,但是如果该路由不是资源路由,那么该路由必须具有->name()
(如果要使用路由名称)。