dongxian8858 2016-07-07 17:46
浏览 80
已采纳

Handler.php第103行中的Laravel 5.2 NotFoundHttpException

This happens when I add a basic route (foo). The rest of the routes work as expected. This generates a NotFoundHttpException and a ModelNotFoundException.

app/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');
});

app/resources/views/foo.blade.php:

<p>foo</p>
  • 写回答

1条回答 默认 最新

  • dtihe8614 2016-07-07 18:03
    关注

    When declaring your routes file, try to declare WosController@show as the last route. Like this:

    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 was problably making a mistake with your show route because it thinks that /foois an argument of {workorder}since it has no way to differ them. So, when declaring routes, try to put fixed routes first and routes with arguments in the end.

    Hope it helps you!!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?