如何在路由Laravel中添加参数?
我尝试在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" =>
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');