您好,我正在尝试这样做,但它获取了所有路线,我只想要来自特定组的路线。
这是我的代码:
<?php
$routes = Routes::getRoutes();
@foreach($routes as $route)
{{ $route->getPath() }}
@endforeach`
提前致谢!
最佳答案
让我们创建一些没有任何组的路线
Route::get('/', function () {
return view('welcome');
});
Route::get('/load', 'defaultController@load');
现在我们将创建一些带有组的路线
Route::group(['as' => 'admin'], function () {
Route::get('users', function () {
return "users route";
});
Route::get('ravi', function () {
return "ravi route";
});
现在我们将在该组中创建一条路由,它将查找管理员组并打印该组中存在的所有路由。
Route::get('kumar', function () {
$name = 'admin';
$routeCollection = Route::getRoutes(); // RouteCollection object
$routes = $routeCollection->getRoutes(); // array of route objects
现在在我们的路由对象中,我们将通过过滤数组来查找命名路由。
$grouped_routes = array_filter($routes, function($route) use ($name) {
$action = $route->getAction(); // getting route action
if (isset($action['as'])) {
// for the first level groups, $action['as']
// will be a string
// for nested groups, $action['as'] will be an array
if (is_array($action['as'])) {
return in_array($name, $action['as']);
} else {
return $action['as'] == $name;
}
}
return false;
});
// Here we will print the array containing the route objects in the 'admin' group
dd($grouped_routes);
});
});
现在您可以将其复制并粘贴到您的路线文件夹中,然后您将能够通过点击 your_project_public_folder_url/kumar 来查看输出
我从这个答案中获得了帮助Answer of patricus
关于laravel - 如何在 laravel 5 中获取特定组的路线列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40169676/