Php 获取laravel中的路由覆盖资源路由,如何克服此问题
我的laravel路线文件中有以下路线:Php 获取laravel中的路由覆盖资源路由,如何克服此问题,php,laravel,laravel-5,Php,Laravel,Laravel 5,我的laravel路线文件中有以下路线: Route::get('/{id}' , [ 'uses' => 'PagesController@show', 'as' => 'getArticle' ]); 上述路线的问题在于,其覆盖以下路线: Route::resource('admin', 'adminController'); 我想保留我的资源路线,但如何保留我的资源?有办法解决这个问题吗?只需将此路径移动到web.php文件的末尾 Route::get('/
Route::get('/{id}' , [
'uses' => 'PagesController@show',
'as' => 'getArticle'
]);
上述路线的问题在于,其覆盖以下路线:
Route::resource('admin', 'adminController');
我想保留我的资源路线,但如何保留我的资源?有办法解决这个问题吗?只需将此路径移动到web.php文件的末尾
Route::get('/{id}' , [
'uses' => 'PagesController@show',
'as' => 'getArticle'
]);
像这样修改路由文件
Route::resource('admin', 'adminController');
Route::get('/{id}' , [ 'uses' => 'PagesController@show', 'as' => 'getArticle' ]);
按定义的顺序路由执行的文件
如果在开头定义Route::get('/{id}',..
,并像http://your-site/admin
,admin
部分将被视为Route::get('/{id})的id
“,…
路线。因此,在定义路线时,您需要记住这一点。有两种选择:
- 在
Route::resource(…)之后移动
Route::get('/{id}',…)
- 或者,如果
是数值的,则向id
添加一个模式Route::get()
Route::get('/{id}',…)->where('id','[0-9]+');
路由::get(…)
在前缀为“admin”的路由::组()中?按照末尾设置id为id
的路由文件的顺序修改路由文件。请在下面查找我的答案。