Laravel路线未定义,但已明确定义

时间:2020-09-07 13:31:16

标签: laravel routes controller undefined laravel-7

我在获取一些上班路线时遇到问题。我已经明确声明了一些路由,即使清除了缓存后,它们也不会出现在php artisan route:list中。

由于我认为这可能与另一行不正确有关,因此我将整个路由文件粘贴到此处。所有管理路线都可以使用,但是某些“专业”路线和一些“商店”路线完全缺失!有几个失踪,所以我将不列出所有。我不知道这是怎么发生的。

Auth::routes();

Route::prefix('cms')->middleware(['role:admin'])->namespace('Admin')->name('cms.admin.')->group(function () {
    Route::get('', 'CmsController@index')->name('index');

    Route::get('instellingen', 'CmsController@getSetting')->name('setting.get');
    Route::match(['put', 'patch'], 'instellingen', 'CmsController@updateSetting')->name('setting.update');

    Route::resource('coaches', 'ProController')->names('pro');
    Route::resource('winkels', 'ShopController')->names('shop');
    Route::resource('adviezen', 'AdviceController')->names('advice');
    Route::resource('notificaties', 'NotificationController')->names('notification');
});

Route::prefix('account')->name('account.')->group(function () {
    Route::middleware(['role:shop'])->namespace('Shop')->name('shop.')->group(function () {
        Route::get('', 'AccountController@index')->name('index');

        Route::get('instellingen', 'AccountController@getSetting')->name('setting.get');
        Route::match(['put', 'patch'], 'instellingen', 'AccountController@postSetting')->name('setting.post');
        Route::get('profiel', 'AccountController@getProfile')->name('profile.get');
        Route::match(['put', 'patch'], 'profiel', 'AccountController@postProfile')->name('profile.post');
        Route::get('coaches', 'AccountController@getPro')->name('pro.get');
        Route::match(['put', 'patch'], 'coaches', 'AccountController@postPro')->name('pro.post');

        Route::resource('adviezen', 'AdviceController')->names('advice');
    });

    Route::middleware(['role:pro'])->namespace('Pro')->name('pro.')->group(function () {
        Route::get('', 'AccountController@index')->name('index');

        Route::get('profiel', 'AccountController@getProfile')->name('profile.get');
        Route::match(['put', 'patch', 'delete'], 'profiel', 'AccountController@postProfile')->name('profile.post');
        Route::get('winkel', 'AccountController@getShop')->name('shop.get');
        Route::match(['post', 'delete'], 'winkel', 'AccountController@postShop')->name('shop.post');
        Route::get('postvak', 'AccountController@getNotification')->name('notification.get');
        Route::post('postvak', 'AccountController@postNotification')->name('notification.post');

        Route::resource('adviezen', 'AdviceController')->names('advice');
    });
});

Route::get('', 'SiteController@index')->name('site.index');

打印php artisan route:list -c时的结果(是的,我知道这是很多文本,但是我认为有必要查看完整的图片并可能有助于解决此特定问题)

+------------------+------------------------------------+------------------------------------------------------------------------+
| Method           | URI                                | Action                                                                 |
+------------------+------------------------------------+------------------------------------------------------------------------+
| GET|HEAD         | /                                  | App\Http\Controllers\SiteController@index                              |
| GET|HEAD         | _debugbar/assets/javascript        | Barryvdh\Debugbar\Controllers\AssetController@js                       |
| GET|HEAD         | _debugbar/assets/stylesheets       | Barryvdh\Debugbar\Controllers\AssetController@css                      |
| DELETE           | _debugbar/cache/{key}/{tags?}      | Barryvdh\Debugbar\Controllers\CacheController@delete                   |
| GET|HEAD         | _debugbar/clockwork/{id}           | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork          |
| GET|HEAD         | _debugbar/open                     | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle             |
| GET|HEAD         | _debugbar/telescope/{id}           | Barryvdh\Debugbar\Controllers\TelescopeController@show                 |
| GET|HEAD         | account                            | App\Http\Controllers\Pro\AccountController@index                       |
| POST             | account/adviezen                   | App\Http\Controllers\Pro\AdviceController@store                        |
| GET|HEAD         | account/adviezen                   | App\Http\Controllers\Pro\AdviceController@index                        |
| GET|HEAD         | account/adviezen/create            | App\Http\Controllers\Pro\AdviceController@create                       |
| PUT|PATCH        | account/adviezen/{adviezen}        | App\Http\Controllers\Pro\AdviceController@update                       |
| GET|HEAD         | account/adviezen/{adviezen}        | App\Http\Controllers\Pro\AdviceController@show                         |
| DELETE           | account/adviezen/{adviezen}        | App\Http\Controllers\Pro\AdviceController@destroy                      |
| GET|HEAD         | account/adviezen/{adviezen}/edit   | App\Http\Controllers\Pro\AdviceController@edit                         |
| PUT|PATCH        | account/coaches                    | App\Http\Controllers\Shop\AccountController@postPro                    |
| GET|HEAD         | account/coaches                    | App\Http\Controllers\Shop\AccountController@getPro                     |
| GET|HEAD         | account/instellingen               | App\Http\Controllers\Shop\AccountController@getSetting                 |
| PUT|PATCH        | account/instellingen               | App\Http\Controllers\Shop\AccountController@postSetting                |
| GET|HEAD         | account/postvak                    | App\Http\Controllers\Pro\AccountController@getNotification             |
| POST             | account/postvak                    | App\Http\Controllers\Pro\AccountController@postNotification            |
| PUT|PATCH|DELETE | account/profiel                    | App\Http\Controllers\Pro\AccountController@postProfile                 |
| PUT|PATCH        | account/profiel                    | App\Http\Controllers\Shop\AccountController@postProfile                |
| GET|HEAD         | account/profiel                    | App\Http\Controllers\Pro\AccountController@getProfile                  |
| GET|HEAD         | account/winkel                     | App\Http\Controllers\Pro\AccountController@getShop                     |
| POST|DELETE      | account/winkel                     | App\Http\Controllers\Pro\AccountController@postShop                    |
| GET|HEAD         | api/user                           | Closure                                                                |
| GET|HEAD         | cms                                | App\Http\Controllers\Admin\CmsController@index                         |
| GET|HEAD         | cms/adviezen                       | App\Http\Controllers\Admin\AdviceController@index                      |
| POST             | cms/adviezen                       | App\Http\Controllers\Admin\AdviceController@store                      |
| GET|HEAD         | cms/adviezen/create                | App\Http\Controllers\Admin\AdviceController@create                     |
| PUT|PATCH        | cms/adviezen/{adviezen}            | App\Http\Controllers\Admin\AdviceController@update                     |
| DELETE           | cms/adviezen/{adviezen}            | App\Http\Controllers\Admin\AdviceController@destroy                    |
| GET|HEAD         | cms/adviezen/{adviezen}            | App\Http\Controllers\Admin\AdviceController@show                       |
| GET|HEAD         | cms/adviezen/{adviezen}/edit       | App\Http\Controllers\Admin\AdviceController@edit                       |
| GET|HEAD         | cms/coaches                        | App\Http\Controllers\Admin\ProController@index                         |
| POST             | cms/coaches                        | App\Http\Controllers\Admin\ProController@store                         |
| GET|HEAD         | cms/coaches/create                 | App\Http\Controllers\Admin\ProController@create                        |
| GET|HEAD         | cms/coaches/{coach}                | App\Http\Controllers\Admin\ProController@show                          |
| DELETE           | cms/coaches/{coach}                | App\Http\Controllers\Admin\ProController@destroy                       |
| PUT|PATCH        | cms/coaches/{coach}                | App\Http\Controllers\Admin\ProController@update                        |
| GET|HEAD         | cms/coaches/{coach}/edit           | App\Http\Controllers\Admin\ProController@edit                          |
| PUT|PATCH        | cms/instellingen                   | App\Http\Controllers\Admin\CmsController@updateSetting                 |
| GET|HEAD         | cms/instellingen                   | App\Http\Controllers\Admin\CmsController@getSetting                    |
| GET|HEAD         | cms/notificaties                   | App\Http\Controllers\Admin\NotificationController@index                |
| POST             | cms/notificaties                   | App\Http\Controllers\Admin\NotificationController@store                |
| GET|HEAD         | cms/notificaties/create            | App\Http\Controllers\Admin\NotificationController@create               |
| GET|HEAD         | cms/notificaties/{notificaty}      | App\Http\Controllers\Admin\NotificationController@show                 |
| PUT|PATCH        | cms/notificaties/{notificaty}      | App\Http\Controllers\Admin\NotificationController@update               |
| DELETE           | cms/notificaties/{notificaty}      | App\Http\Controllers\Admin\NotificationController@destroy              |
| GET|HEAD         | cms/notificaties/{notificaty}/edit | App\Http\Controllers\Admin\NotificationController@edit                 |
| POST             | cms/winkels                        | App\Http\Controllers\Admin\ShopController@store                        |
| GET|HEAD         | cms/winkels                        | App\Http\Controllers\Admin\ShopController@index                        |
| GET|HEAD         | cms/winkels/create                 | App\Http\Controllers\Admin\ShopController@create                       |
| GET|HEAD         | cms/winkels/{winkel}               | App\Http\Controllers\Admin\ShopController@show                         |
| DELETE           | cms/winkels/{winkel}               | App\Http\Controllers\Admin\ShopController@destroy                      |
| PUT|PATCH        | cms/winkels/{winkel}               | App\Http\Controllers\Admin\ShopController@update                       |
| GET|HEAD         | cms/winkels/{winkel}/edit          | App\Http\Controllers\Admin\ShopController@edit                         |
| GET|HEAD         | login                              | App\Http\Controllers\Auth\LoginController@showLoginForm                |
| POST             | login                              | App\Http\Controllers\Auth\LoginController@login                        |
| POST             | logout                             | App\Http\Controllers\Auth\LoginController@logout                       |
| POST             | password/confirm                   | App\Http\Controllers\Auth\ConfirmPasswordController@confirm            |
| GET|HEAD         | password/confirm                   | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm    |
| POST             | password/email                     | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  |
| GET|HEAD         | password/reset                     | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm |
| POST             | password/reset                     | App\Http\Controllers\Auth\ResetPasswordController@reset                |
| GET|HEAD         | password/reset/{token}             | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        |
| POST             | register                           | App\Http\Controllers\Auth\RegisterController@register                  |
| GET|HEAD         | register                           | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      |
+------------------+------------------------------------+------------------------------------------------------------------------+

这不是语法错误,因为我的IDE并没有给出错误,所以我认为这可能是逻辑上的或者我完全想不到的东西...

任何帮助将不胜感激。

亲切的问候, 尼尔斯

1 个答案:

答案 0 :(得分:2)

虽然结果很尴尬;

我所做的是用相同的URI和方法注册多个路由。尽管它们具有不同的名称空间和名称,但是却存在冲突。

通过在2个单独的组中添加URI前缀来解决

感谢用户lagbox的回答。

相关问题