【问题标题】:Restful Routes in Laravel 5.4Laravel 5.4 中的宁静路线
【发布时间】:2017-12-31 10:25:16
【问题描述】:

我使用的是 Laravel 5.2 这就是我写named routes的方式

Route::group( [ 'prefix' => 'admin' ], function () {
Route::resource( 'about', 'AboutController', [ 'as' => 'about' ] );
} );

然后这就是我如何称呼路线about.admin.about.update 现在在 Laravel 5.4 中是相同的路线

Route::group( [ 'prefix' => 'admin' ], function () {
Route::resource( 'about', 'AboutController', [ 'as' => 'about' ] );
} );

但是当我称它为about.admin.about.update 时,它给出的路线未定义。 我在named routes 中了解的另一件事我可以像about.admin.create 那样调用路线

更新 查看命令route:list

|        | GET|HEAD  | admin/about                                          | about.about.index                                 | App\Http\Controllers\AboutController@index                                    | web                      |
|        | POST      | admin/about                                          | about.about.store                                 | App\Http\Controllers\AboutController@store                                    | web                      |
|        | GET|HEAD  | admin/about/create                                   | about.about.create                                | App\Http\Controllers\AboutController@create                                   | web                      |
|        | PUT|PATCH | admin/about/{about}                                  | about.about.update                                | App\Http\Controllers\AboutController@update                                   | web                      |
|        | GET|HEAD  | admin/about/{about}                                  | about.about.show                                  | App\Http\Controllers\AboutController@show                                     | web                      |
|        | DELETE    | admin/about/{about}                                  | about.about.destroy                               | App\Http\Controllers\AboutController@destroy                                  | web                      |

为什么名字是about.about.create 不应该是about.create??

请对此进行任何澄清

【问题讨论】:

    标签: laravel-5 routes


    【解决方案1】:

    原因是当您指定“as”参数时,您在资源路由about 前加上另一个about。离开它应该会给你你需要的东西:

    Route::resource('about', 'AboutController');
    

    这将为您提供路线about.*。如果您想让admin.about.* 将“as”参数添加到组中(不要忘记在“as”参数中包含尾随句点):

    Route::group(['prefix' => 'admin', 'as' => 'admin.'], function () {
        Route::resource('about', 'AboutController');
    });
    

    【讨论】:

      猜你喜欢
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 2011-05-26
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多