Laravel 5.1 路由名称资源 null - Route::currentRouteName()
Laravel 5.1 route name resource null - Route::currentRouteName()
我注意到有几个类似的主题,但是 none 的解决方案解决了我的问题。
设置我的路线如下:
Route::resource('clientes', 'Clients\ClientsController',
[
'names' => [
'create' => 'clients.create',
'store' => 'clients.store',
'edit' => 'clients.edit',
'update' => 'clients.update'
]
]
);
我必须在中间件中捕获路由名称
public function handle($request, Closure $next){
var_dump(Route::currentRouteName());exit;
}
创建和编辑打印的方法:
string(14) "clients.create"
string(12) "clients.edit"
但是,方法存储和更新打印 NULL。
我们尝试的其他方法是:
$request->route()->getName();
app()->router->getCurrentRoute()->getName();
提前致谢。
试试这个:
Route::getCurrentRoute()->getPath();
或者如果您需要操作名称
Route::getCurrentRoute()->getActionName();
//OR
$request->route()->getActionName();
看看How to get Route in Middleware in Laravel.
希望对您有所帮助。
相对于 Route::currentRouteName()
我做了
// Prefix name, i.e. Interfaces
$getPrefix = preg_replace ("/\W|\./", '', $request-> route ()-> getPrefix ());
// Full route name if controller resource, unless it'd be only controller name
$getName = $request-> route ()-> getName ();
// Resource action name, or another
$getActionName = $request-> route ()-> getActionName ();
// Full route name
echo $route = $getActionName === "Closure" ? "{$getPrefix}.{$getName}.index" : $getName;
因此我不需要像魅力一样为 Router, so I may use the Request's route 创建任何命名空间。
我注意到有几个类似的主题,但是 none 的解决方案解决了我的问题。
设置我的路线如下:
Route::resource('clientes', 'Clients\ClientsController',
[
'names' => [
'create' => 'clients.create',
'store' => 'clients.store',
'edit' => 'clients.edit',
'update' => 'clients.update'
]
]
);
我必须在中间件中捕获路由名称
public function handle($request, Closure $next){
var_dump(Route::currentRouteName());exit;
}
创建和编辑打印的方法:
string(14) "clients.create"
string(12) "clients.edit"
但是,方法存储和更新打印 NULL。
我们尝试的其他方法是:
$request->route()->getName();
app()->router->getCurrentRoute()->getName();
提前致谢。
试试这个:
Route::getCurrentRoute()->getPath();
或者如果您需要操作名称
Route::getCurrentRoute()->getActionName();
//OR
$request->route()->getActionName();
看看How to get Route in Middleware in Laravel.
希望对您有所帮助。
相对于 Route::currentRouteName()
我做了
// Prefix name, i.e. Interfaces
$getPrefix = preg_replace ("/\W|\./", '', $request-> route ()-> getPrefix ());
// Full route name if controller resource, unless it'd be only controller name
$getName = $request-> route ()-> getName ();
// Resource action name, or another
$getActionName = $request-> route ()-> getActionName ();
// Full route name
echo $route = $getActionName === "Closure" ? "{$getPrefix}.{$getName}.index" : $getName;
因此我不需要像魅力一样为 Router, so I may use the Request's route 创建任何命名空间。