我有一个管理员控制器,我想通过参数允许超级管理员执行管理员工作。
这是我的控制器:
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'));
}
}
}
答案 0 :(得分:3)
将它们作为数组传递
$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');
});
试一试,看看它是怎么回事。