Hi there,
I'm writing routes in web.php but I got a problem. If the code is
Route::get('articles/create', 'ArticlesController@create');
Route::get('articles/{id}', 'ArticlesController@show');
then the "articles/create" will working properly with giving me a page (which links to a blade.php)
However, if I swap these 2 lines like
Route::get('articles/{id}', 'ArticlesController@show');
Route::get('articles/create', 'ArticlesController@create');
Then I will get an error which shows "Trying to get property of non-object (View: D:\xampp\htdocs\laravel\resources\views\articles\single.blade.php)".
The single.blade.php is returned by "ArticlesController@show" method.
(I'm just following this tutorial "Laravel 5 Fundamentals: Forms" from laracasts.com) Hopefully I described clearly.
Need help with this. Did I miss any code there?
Thank you,
GB
Route::get('articles/create', 'ArticlesController@create');
Route::get('articles/{id}/show', 'ArticlesController@show');
Ye the solution above works!
So it is updated in 5.4? I mean, need something after "{id}"?
No, it isn't updated in 5.4. Route 'aticles/create' is synonymous with route 'articles/{id}'. Imagine that id === 'create'... Routes must are uniques. Another variant is:
Route::get('articles/create', 'ArticlesController@create');
Route::get('articles/show/{id}', 'ArticlesController@show');
GarlicBread: Your problem is not in the route of web.php, problem is in your ArticlesController, check the data that you assign in your ArticlesController to view in your single.blade.php, it will work for sure.
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community