如何解决带参数的 Laravel 中间件
我写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 个预期
解决方法
我认为当你调用中间件时你使用了方括号,你使用了一个数组来向中间件提交参数,使用下面的代码
Route::middleware([Permission::class])->group(function($id){
});
要通过中间件提交多个参数,请使用以下代码:
Route::get('/',function () {
//
})->middleware(['first','second']);
为了传递单个中间件,请使用:
Route::get('/profile',function () {
//
})->middleware('auth');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。