Dougie Dougie -4 years ago 167
PHP Question

Laravel 5.2 NotFoundHttpException in Handler.php line 103

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>

Answer Source

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!!

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download