【发布时间】:2020-02-05 09:13:29
【问题描述】:
我正在尝试为系列设置Route:resource。
当我创建单独的获取、发布、修补和删除路由时,它按预期工作(例如
GET series/${serie})。但是,当我使用 Route::resource 时,它会创建多个属性(例如
GET series/${series})。在我关注的 laracast 中,它创建了单数(例如
GET projects/${project})。
我无法弄清楚我错过了什么。
这行得通:
Route::get('/series', 'SeriesController@index');
Route::get('/series/create', 'SeriesController@create');
Route::get('/series/{serie}', 'SeriesController@show');
Route::post('/series', 'SeriesController@store');
Route::get('/series/{serie}/edit', 'SeriesController@edit');
Route::patch('/series/{serie}', 'SeriesController@update');
Route::delete('/series/{serie}', 'SeriesController@destroy');
路线列表为:
GET|HEAD | series | App\Http\Controllers\SeriesController@index
POST | series | App\Http\Controllers\SeriesController@store
GET|HEAD | series/create | App\Http\Controllers\SeriesController@create
GET|HEAD | series/{serie} | App\Http\Controllers\SeriesController@show
PATCH | series/{serie} | App\Http\Controllers\SeriesController@update
DELETE | series/{serie} | App\Http\Controllers\SeriesController@destroy
GET|HEAD | series/{serie}/edit | App\Http\Controllers\SeriesController@edit
这不起作用:
Route::resource('series', 'SeriesController');
并生成此路线列表:
GET|HEAD | series | App\Http\Controllers\SeriesController@index
POST | series | App\Http\Controllers\SeriesController@store
GET|HEAD | series/create | App\Http\Controllers\SeriesController@create
GET|HEAD | series/{series} | App\Http\Controllers\SeriesController@show
PATCH | series/{series} | App\Http\Controllers\SeriesController@update
DELETE | series/{series} | App\Http\Controllers\SeriesController@destroy
GET|HEAD | series/{series}/edit | App\Http\Controllers\SeriesController@edit
注意复数形式 {series}。为什么会这样?
【问题讨论】:
-
如果你真的想要
serie,你仍然可以通过laravel.com/docs/5.7/…进行更改
标签: laravel laravel-5 laravel-routing