我写middleare来决定权限。但给出错误。
路线页面
Route::middleware([Permission::class])->group(function($id){
});
中间件
public function handle(Request $request, Closure $next,$id)
{
$id = $request->id; //$id is returning null
}
给出这个错误 函数 App\Http\Middleware\Permission::handle() 的参数太少,2 传入 /home/saide/Desktop/saide-backoffice/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php 在第 167 行并且正好是 3 个预期
答案 0 :(得分:0)
我认为当你调用中间件时你使用了方括号,你使用了一个数组来向中间件提交参数,使用下面的代码
Route::middleware([Permission::class])->group(function($id){
});
要通过中间件提交多个参数,请使用以下代码:
Route::get('/', function () {
//
})->middleware(['first', 'second']);
为了传递单个中间件,请使用:
Route::get('/profile', function () {
//
})->middleware('auth');