当我添加基本路线(foo)时会发生这种情况。其余路线按预期工作。这会生成NotFoundHttpException和ModelNotFoundException。
应用程序/ HTTP / routes.php文件:
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::get('/{workorder}','WosController@show');
Route::post('/create','WosController@store');
Route::get('/', function () {
return view('welcome');
});
Route::get('/foo', function () {
return view('foo');
});
应用程序/资源/视图/ foo.blade.php:
<p>foo</p>
答案 0 :(得分:10)
在声明路线文件时,尝试将WosController @ show声明为最后一条路线。像这样:
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/index','WosController@index');
Route::get('/create','WosController@create');
Route::post('/create','WosController@store');
Route::get('/', function () {
return view('welcome');
});
Route::get('/foo', function () {
return view('foo');
});
Route::get('/{workorder}','WosController@show');
Laravel可能会错误地使用你的节目路线,因为它认为/foo
是{workorder}
的一个参数,因为它无法区分它们。因此,在声明路由时,首先尝试使用固定路由,最后使用参数路由。
希望它可以帮到你!!