我在名为reports的包中有以下路由。
Route::get('reports/search-beneficiary-details', ['uses' => 'ReportsController@searchBeneficiaryDetails', 'permission' => ['reports.app.reports.search-beneficiary-details', 'Search Details']]);
如何使用路径路径获取路径的权限属性?
我可以在视图中访问当前路由对象,如下所示,我可以获得权限属性
<?php $routeAtr = Route::getCurrentRoute()->action;dd($routeAtr['permission']) ?>
但对于任何给定的路径路径,如何访问权限属性?
答案 0 :(得分:0)
以下代码可以解决问题:
// get all routes
$routes = \Route::getRoutes();
// get a single route by name
$route = $routes->getByName($routeName);
// get permission
$routeAtr = $route->action;
dd($routeAtr['permission']);
但是,如果您有多条路径具有相同路径但方法不同,则需要在方程式中添加方法。为此,您需要准备一个Request对象,并使路由器将其与可用路由进行匹配。请尝试以下代码:
$request = new Request();
$request->setMethod('post');
$request->server->set('REQUEST_URI', 'some/path');
$routes = \Route::getRoutes();
$route = $routes->match($request);
$routeAtr = $route->action;
dd($routeAtr['permission']);