【问题标题】:Laravel 5.1 Route groupsLaravel 5.1 路由组
【发布时间】:2015-08-15 16:35:50
【问题描述】:

我的routes.php 文件中有以下Route::group 设置。问题是我现在想添加一个新路由 Route::post('/timesheets/new', 'Timesheet\TimesheetController@create'); 但问题是控制器位于不同的目录中,因此,组上的命名空间导致 Laravel 在同一目录中查找控制器。

我的路线::组

Route::group(['middleware' => 'admin', 'prefix' => 'admin', 'namespace' => 'Admin'], function ()
{
    Route::get('/', 'DashboardController@index');
    Route::get('/contractors', 'ContractorController@index');

});

我想补充一下:

Route::get('/timesheets/new', 'Timesheet\TimesheetController@index');

但是,当我这样做时,我得到了错误:

Class App\Http\Controllers\Admin\Timesheet\TimesheetController does not exist

【问题讨论】:

  • 应该有前缀admin吗?
  • 是的,前缀 admin 是正确的。但是我希望管理员用户能够访问位于 Controllers/Timesheet 中的 TimesheetController
  • 你需要用另一个命名空间创建另一个组并将路由放在那里

标签: php laravel laravel-5


【解决方案1】:

这应该可行:

Route::group(['middleware' => 'admin', 'prefix' => 'admin', ], function ()
{
    Route::group(['namespace' => 'Admin'], function() {
        Route::get('/', 'DashboardController@index');
        Route::get('/contractors', 'ContractorController@index');
    });

    Route::get('/timesheets/new', 'Timesheet\TimesheetController@index');
});

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2015-10-12
    • 2015-11-07
    • 2016-01-12
    • 2015-10-04
    • 2016-02-11
    相关资源
    最近更新 更多