2017-05-02 1 views
1

J'ai un admin-contrôleur et je veux passer à middle-ware aux paramètres pour permettre Super Admin de faire des choses d'administration.Comment puis-je passer 2 paramètres à mon middle-ware sur mon contrôleur d'administration

Voici mon contrôleur:

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

Répondre

3

les passer comme un tableau

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

Si cela ne fonctionne pas avec un tableau, passer chacun d'eux séparément

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

Pas solution à votre problème, mais une solution de contournement puisque tout ce que vous essayez ne fonctionne pas. Vous pouvez supprimer le middleware du constructeur et les appliquer à la place aux routes qui appellent les fonctions de ce constructeur

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

Essayez cela et voir comment ça se passe.

+0

J'ai essayé ça, mais ça n'a pas marché! et quand j'essaie par juste 1 paramètre cela fonctionne! Administrateur ou super administrateur –

+0

Vérifier mes mises à jour. – EddyTheDove

+0

même ne fonctionne toujours pas! quand j'essaie avec middleware ('admin') ou middleware superadmin seul son travail! –