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



我有一个admin-controller,我想将中间软件放在参数上以允许 super Admin 做管理员。

在这里我的控制器:

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');
});

尝试一下,看看它如何进行。

最新更新