2017-05-02 8 views
1

私は管理コントローラを持っていますので、ミドルウエアにパラメータを設定することをお勧めします。スーパー管理は管理作業を行います。管理コントローラのミドルウェアに2つのパラメータを渡すにはどうすればいいですか

ここに私のコントローラ:それは配列では動作しない場合は

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

答えて

3

が配列

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

としてそれらを渡し、それらを別々に合格

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

ありませんあなたの問題に対する解決方法がありますが、試行したすべてが機能していないため、回避策があります。あなたは、コンストラクタからミドルウェアを削除し、代わりにこれを試してみて、それがどのようになる参照

Route::group(['middleware' => ['admin', 'superadmin']], function(){ 
    Route::get('url1', '[email protected]'); 
    Route::get('url2', '[email protected]'); 
    Route::post('url3', '[email protected]'); 
}); 

そのコンストラクタから関数を呼び出すルートにそれらを適用することができます。

+0

私はそれを試みましたが、うまくいきませんでした!私はちょうど1つのパラメータを試してみるとうまくいきます!管理者またはスーパー管理者 –

+0

更新を確認してください。 – EddyTheDove

+0

同じものがまだ動作しません! ミドルウェア( 'admin')またはミドルウェアのスーパー管理者だけで作業しようとしているときに! –

関連する問題