我在路由Laravel时使用以下中间件:
Route::group(['prefix' => 'api/'], function() {
Route::resource('admin', 'adminController')->middleware('auth');
Route::resource('profile', 'profileController')->middleware('role');
});
答案 0 :(得分:4)
这是因为Route::resource()
没有返回任何内容。它无效。它没有返回一个对象。
Laravel 5.4 - Illuminate\Routing\Router@resource
在Laravel 5.5(开发中)中,Route::resource()
将返回一个对象,以便流畅地添加选项。
答案 1 :(得分:3)
使用此
Route::prefix("/dashboard")->middleware(['first','second'])->group(function(){
});
答案 2 :(得分:1)
只需颠倒顺序:
Route::middleware('scope:clock-in')->resource('clock', 'ClockController');
如lagbox所述:
Route::resource()
不返回任何内容。
但是中间件可以。
答案 3 :(得分:0)
您的资源控制器很可能无法解析为实际的控制器。有些事要检查
答案 4 :(得分:0)
在Laravel 8.x中,您可以使用以下方法解决此问题:
Route::group(['middleware' => 'auth','middleware' => 'role'], function () {
..........
});