首页 > 解决方案 > Route Slug 总是被查询 - Laravel 5.4

问题描述

这是我的web.php文件:

Route::get('/items', 'ItemsController@index');
Route::get('/items/create', 'ItemsController@create');
Route::get('/items/{item}', 'ItemsController@show');
Route::post('/items', 'ItemsController@store');
Route::delete('/items/{item}', 'ItemsController@destroy');

Route::get('/items/deleted', 'DeletedItemsController@index');

如何防止/items/deleted slug 被视为通配符?

NotFoundHttpException没有模型 [App\Item] 的查询结果。

标签: laravel-5.4

解决方案


/items/deleted路由定义放在通配符之上:

Route::get('/items', 'ItemsController@index');
Route::get('/items/create', 'ItemsController@create');

Route::get('/items/deleted', 'DeletedItemsController@index');

Route::get('/items/{item}', 'ItemsController@show');
Route::post('/items', 'ItemsController@store');
Route::delete('/items/{item}', 'ItemsController@destroy');

推荐阅读