如何在路由Laravel中添加参数?

如何在路由Laravel中添加参数?,laravel,laravel-5.2,laravel-5.3,Laravel,Laravel 5.2,Laravel 5.3,我尝试在Laravel中为资源添加参数: Route::resource('place', 'Dashboard\PlaceController', ["parameters" => ["roles" => "Admin"]]); 然后我显示路由数组: $actions = $request->route()->getAction(); dd($actions); 我得到的数组没有参数角色: array:7 [▼ "middleware" =>

我尝试在Laravel中为资源添加参数:

Route::resource('place', 'Dashboard\PlaceController', ["parameters" => ["roles" => "Admin"]]);
然后我显示路由数组:

$actions = $request->route()->getAction();
        dd($actions);
我得到的数组没有参数
角色

array:7 [▼
  "middleware" => array:3 [▶]
  "as" => "place.index"
  "uses" => "App\Http\Controllers\Dashboard\PlaceController@index"
  "controller" => "App\Http\Controllers\Dashboard\PlaceController@index"
  "namespace" => "App\Http\Controllers"
  "prefix" => null
  "where" => []
]

有一个artisan命令可以用来检查您有哪些路由,它是
php artisan路由:list

我认为这里的问题是,您正在使用
Route::resource
,因为它用预定义的通常有用的CRUD端点填充您的路由

如果您想在参数上获得更大的权限,我建议您覆盖一些路由,将路由线正好放在
路由::资源
之前

通常,我倾向于仅使用
从资源路由中删除路由,而不使用
来减少路由,如:

Route::resource('photo', 'PhotoController', ['only' => [
    'index', 'show'
]]);
我认为甚至不可能添加更多(我的意思是,不在同一行中)

TLDR:不要使用
Route::resource()
如果您需要自定义路由,请使用
Route::get()
Route::post()
代替,在大括号中添加路由参数,如

Route::get('/users/{username}', 'UsersController@show');