【发布时间】:2015-06-01 21:01:40
【问题描述】:
我有两个控制器 - ChController 和 FillController 。 ChController 工作正常。
Route::resource('c', 'ChController');
| | GET|HEAD | c | c.index | App\Http\Controllers\ChController@index | |
| | GET|HEAD | c/create | c.create | App\Http\Controllers\ChController@create | |
| | POST | c | c.store | App\Http\Controllers\ChController@store | |
| | GET|HEAD | c/{c} | c.show | App\Http\Controllers\ChController@show | |
| | GET|HEAD | c/{c}/edit | c.edit | App\Http\Controllers\ChController@edit | |
| | PUT | c/{c} | c.update | App\Http\Controllers\ChController@update | |
| | PATCH | c/{c} | | App\Http\Controllers\ChController@update | |
| | DELETE | c/{c} | c.destroy | App\Http\Controllers\ChController@destroy | |
但我需要嵌套的 FillController (f),比如:
/c/{c}/create
/c/{c}/{f}
/c/{c}/{f}/show
/c/{c}/{f}/edit
// etc...
我试过了:
Route::group(['prefix' => 'c/{c}'], function () {
Route::resource('{f}', 'FillController');
});
| | GET|HEAD | c/{c}/{f} | c.{c}.{f}.index | App\Http\Controllers\FillController@index | |
| | GET|HEAD | c/{c}/{f}/create | c.{c}.{f}.create | App\Http\Controllers\FillController@create | |
| | POST | c/{c}/{f} | c.{c}.{f}.store | App\Http\Controllers\FillController@store | |
| | GET|HEAD | c/{c}/{f}/{{f}} | c.{c}.{f}.show | App\Http\Controllers\FillController@show | |
| | GET|HEAD | c/{c}/{f}/{{f}}/edit | c.{c}.{f}.edit | App\Http\Controllers\FillController@edit | |
| | PUT | c/{c}/{f}/{{f}} | c.{c}.{f}.update | App\Http\Controllers\FillController@update | |
| | PATCH | c/{c}/{f}/{{f}} | | App\Http\Controllers\FillController@update | |
| | DELETE | c/{c}/{f}/{{f}} | c.{c}.{f}.destroy | App\Http\Controllers\FillController@destroy | |
Route::group(['prefix' => 'c/{c}'], function () {
Route::resource('f', 'FillController');
});
| | GET|HEAD | c/{c}/f | c.{c}.f.index | App\Http\Controllers\FillController@index | |
| | GET|HEAD | c/{c}/f/create | c.{c}.f.create | App\Http\Controllers\FillController@create | |
| | POST | c/{c}/f | c.{c}.f.store | App\Http\Controllers\FillController@store | |
| | GET|HEAD | c/{c}/f/{f} | c.{c}.f.show | App\Http\Controllers\FillController@show | |
| | GET|HEAD | c/{c}/f/{f}/edit | c.{c}.f.edit | App\Http\Controllers\FillController@edit | |
| | PUT | c/{c}/f/{f} | c.{c}.f.update | App\Http\Controllers\FillController@update | |
| | PATCH | c/{c}/f/{f} | | App\Http\Controllers\FillController@update | |
| | DELETE | c/{c}/f/{f} | c.{c}.f.destroy | App\Http\Controllers\FillController@destroy | |
他们都制作了中间页面 /f/ ,我不需要。
最接近的是:
Route::group(['prefix' => 'c/{c}'], function () {
Route::resource('', 'FillController');
});
| | GET|HEAD | c/{c}/create | c.{c}..create | App\Http\Controllers\FillController@create | |
| | POST | c/{c} | c.{c}..store | App\Http\Controllers\FillController@store | |
| | GET|HEAD | c/{c}/{} | c.{c}..show | App\Http\Controllers\FillController@show | |
| | GET|HEAD | c/{c}/{}/edit | c.{c}..edit | App\Http\Controllers\FillController@edit | |
| | PUT | c/{c}/{} | c.{c}..update | App\Http\Controllers\FillController@update | |
| | PATCH | c/{c}/{} | | App\Http\Controllers\FillController@update | |
| | DELETE | c/{c}/{} | c.{c}..destroy | App\Http\Controllers\FillController@destroy | |
但现在路由器不知道 {f} 参数。
【问题讨论】:
标签: php laravel routes resources