如何将 2 个参数传递给我的管理控制器上的中间件

How can I pass 2 parameters to my middle-ware on my admin controller

我有一个管理控制器,我想将中间件传递给它的参数,以允许 超级管理员 执行管理操作。

这是我的控制器:

class adminController extends Controller
{
    public function __construct(){

        $this->middleware('admin');
    }
    public function showGenerateCode(){
        $code ="";
        return view('create_code',compact('code'));
    }
    public function generateCode(Request $request){
        $phone = $request['phone'];
        $code = "";
        $user = User::where('phone' ,'=',$phone)->first();
        if($user){
            $code = "Ce numero de telephone et deja associé a un utilisateur";
            return view('create_code',compact('code'));
            //dd($code);
        }
        else{
            $code = "Code d'autorisation générer avec succé : ".substr($phone,1,3).rand(1000000,9999999);
            return view('create_code',compact('code'));
        }
    }
}

将它们作为数组传递

$this->middleware(['admin', 'superAdmin']);

如果它不适用于数组,请分别传递它们

$this->middleware('admin');
$this->middleware('superAdmin');

不是您问题的解决方案,而是解决方法,因为您尝试的所有方法均无效。您可以从构造函数中删除中间件,而是将它们应用于从该构造函数调用函数的路由

Route::group(['middleware' => ['admin', 'superadmin']], function(){
    Route::get('url1', 'adminController@function1');
    Route::get('url2', 'adminController@function2');
    Route::post('url3', 'adminController@function3');
});

试一试,看看效果如何。