2017-11-06 12 views
0

다음 경로가 report라는 패키지에 있습니다.경로 경로를 사용하여 laravel에서 경로 속성에 액세스하는 방법은 무엇입니까?

Route::get('reports/search-beneficiary-details', ['uses' => '[email protected]', 'permission' => ['reports.app.reports.search-beneficiary-details', 'Search Details']]); 

경로 경로를 사용하여 경로의 권한 속성을 가져 오는 방법은 무엇입니까? 다음과 같이

내가보기에 현재 경로 개체에 액세스 할 수 및 그것에서 어떻게 권한 속성에 액세스 할 수

<?php $routeAtr = Route::getCurrentRoute()->action;dd($routeAtr['permission']) ?> 

그러나 주어진 경로 경로에 대한 권한 속성

을받을 수 있나요?

+0

이것은 패키지 개발자에게도 문의 할 수 있습니다. – kerrin

답변

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']); 
+0

경로를 통해 경로를 얻는 방법이 있습니까? – v1shva

+0

단일 경로에 대해 여러 경로를 가질 수 있습니다. 방정식에 메서드를 추가해야합니다. 필요한 것이 무엇입니까? –

+0

내가 필요로하는 것은'$ route = $ routes-> getByPath ('reports/search-beneficiary-details'); 또는 경로 – v1shva