【发布时间】:2022-06-23 17:14:46
【问题描述】:
我已将我的项目路由分为包含客户端路由的home.php 和包含服务器端路由的admin.php。
这是我的RouteServiceProvider.php:
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web/home.php'));
Route::middleware(['web', 'auth.admin'])
->namespace($this->namespace . '\Admin')
->prefix('admin')
->group(base_path('routes/web/admin.php'));
});
}
如您所见,我已指定 ->namespace($this->namespace . '\Admin'),因为此目录中放置了管理控制器:
App\Http\Controllers\Admin\...
然后在admin.php,我添加了这条路线:
Route::resource('users', UserController::class);
但我收到此错误:
Target class [Admin\UserController] does not exist.
那么这里出了什么问题?如何解决此问题并从管理员正确调用控制器?
【问题讨论】:
-
你能在此处添加完整的 UserController 文件吗……也请检查该 userController 的命名空间……
-
@SaravanaSai 它有这个命名空间:
namespace App\Http\Controllers\Admin; -
你是否在你的路由文件中正确导入了检查我...我认为它应该是这样的 'Route::resource('users',App\Http\Controllers\Admin\ UserController: :班级); ' 试试这个