Routing in Laravel php

Well am trying to route my files once in the controller using

Route::resource('links' , 'LinksController');

but the page returns 404(not found) whereby it works in another controller but when i try to route one by one it works just fine , like;

Route::get('/index', 'LinksController@index');

help me and point out what am missing.Thanks!

You can use:

Route::resources([
‘links’ => ‘LinksController’,
]);

1 Like

Thanks but still returning the same result,

“Page not found”

Did you create the resource controller manually?

Or you used artisan CLI command?

Also type “php artisan route:list” and paste result here,

so I can see if routes are clearly defined.

I used the CLI to do so and here is the route list;

+--------+-----------+------------------------+------------------+-----------------------------------------------------------------
-------+--------------+
| Domain | Method    | URI                    | Name             | Action
      | Middleware   |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------
------+--------------+
|        | GET|HEAD  | /                      |                  | App\Http\Controllers\PagesController@index
      | web          |
|        | GET|HEAD  | about                  |                  | App\Http\Controllers\PagesController@about
      | web          |
|        | GET|HEAD  | api/user               |                  | Closure
      | api,auth:api |
|        | GET|HEAD  | contactUs              |                  | App\Http\Controllers\PagesController@contactUs
      | web          |
|        | GET|HEAD  | create                 |                  | App\Http\Controllers\LinksController@create
      | web          |
|        | GET|HEAD  | dashboard              |                  | App\Http\Controllers\DashboardController@index
      | web,auth     |
|        | GET|HEAD  | index                  |                  | App\Http\Controllers\LinksController@index
      | web          |
|        | POST      | login                  |                  | App\Http\Controllers\Auth\LoginController@login
      | web,guest    |
|        | GET|HEAD  | login                  | login            | App\Http\Controllers\Auth\LoginController@showLoginForm
      | web,guest    |
|        | POST      | logout                 | logout           | App\Http\Controllers\Auth\LoginController@logout
      | web          |
|        | POST      | password/email         | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkE
mail  | web,guest    |
|        | GET|HEAD  | password/reset         | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkReques
tForm | web,guest    |
|        | POST      | password/reset         | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset
      | web,guest    |
|        | GET|HEAD  | password/reset/{token} | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm
      | web,guest    |
|        | POST      | posts                  | posts.store      | App\Http\Controllers\PostsController@store
      | web          |
|        | GET|HEAD  | posts                  | posts.index      | App\Http\Controllers\PostsController@index
      | web          |
|        | GET|HEAD  | posts/create           | posts.create     | App\Http\Controllers\PostsController@create
      | web          |
|        | PUT|PATCH | posts/{post}           | posts.update     | App\Http\Controllers\PostsController@update
      | web          |
|        | DELETE    | posts/{post}           | posts.destroy    | App\Http\Controllers\PostsController@destroy
      | web          |
|        | GET|HEAD  | posts/{post}           | posts.show       | App\Http\Controllers\PostsController@show
      | web          |
|        | GET|HEAD  | posts/{post}/edit      | posts.edit       | App\Http\Controllers\PostsController@edit
      | web          |
|        | GET|HEAD  | register               | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm
      | web,guest    |
|        | POST      | register               |                  | App\Http\Controllers\Auth\RegisterController@register
      | web,guest    |
|        | GET|HEAD  | services               |                  | App\Http\Controllers\PagesController@services
      | web          |
|        | GET|HEAD  | store                  |                  | App\Http\Controllers\LinksController@store
      | web          |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------
------+--------------+

Wait look at this below;

+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
| Domain | Method    | URI                    | Name             | Action                                                                 | Middleware   |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+--------------+
|        | GET|HEAD  | /                      |                  | App\Http\Controllers\PagesController@index                             | web          |
|        | GET|HEAD  | about                  |                  | App\Http\Controllers\PagesController@about                             | web          |
|        | GET|HEAD  | api/user               |                  | Closure                                                                | api,auth:api |
|        | GET|HEAD  | contactUs              |                  | App\Http\Controllers\PagesController@contactUs                         | web          |
|        | GET|HEAD  | create                 |                  | App\Http\Controllers\LinksController@create                            | web          |
|        | GET|HEAD  | dashboard              |                  | App\Http\Controllers\DashboardController@index                         | web,auth     |
|        | GET|HEAD  | index                  |                  | App\Http\Controllers\LinksController@index                             | web          |
|        | POST      | login                  |                  | App\Http\Controllers\Auth\LoginController@login                        | web,guest    |
|        | GET|HEAD  | login                  | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest    |
|        | POST      | logout                 | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web          |
|        | POST      | password/email         | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest    |
|        | GET|HEAD  | password/reset         | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest    |
|        | POST      | password/reset         | password.update  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest    |
|        | GET|HEAD  | password/reset/{token} | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest    |
|        | POST      | posts                  | posts.store      | App\Http\Controllers\PostsController@store                             | web          |
|        | GET|HEAD  | posts                  | posts.index      | App\Http\Controllers\PostsController@index                             | web          |
|        | GET|HEAD  | posts/create           | posts.create     | App\Http\Controllers\PostsController@create                            | web          |
|        | PUT|PATCH | posts/{post}           | posts.update     | App\Http\Controllers\PostsController@update                            | web          |
|        | DELETE    | posts/{post}           | posts.destroy    | App\Http\Controllers\PostsController@destroy                           | web          |
|        | GET|HEAD  | posts/{post}           | posts.show       | App\Http\Controllers\PostsController@show                              | web          |
|        | GET|HEAD  | posts/{post}/edit      | posts.edit       | App\Http\Controllers\PostsController@edit                              | web          |
|        | GET|HEAD  | register               | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest    |
|        | POST      | register               |                  | App\Http\Controllers\Auth\RegisterController@register                  | web,guest    |
|        | GET|HEAD  | services               |                  | App\Http\Controllers\PagesController@services                          | web          |
|        | GET|HEAD  | store                  |                  | App\Http\Controllers\LinksController@store                             | web          |
+--------+-----------+------------------------+------------------+------------------------------------------------------------------------+--------------+


There are no routes for the “LinksController” in your route list. Just the default login/user/post that ships with laravel. In other words, you should create the resource again and run “php artisan route:list” a second time and make sure you can see stuffs like

link.stores, links.index, links.create, links.update

etc in the route name column

So run the resource command again like this;

php artisan make:controller LinkController --resource --model=Link

The --model flag is for route model binding, to create a model automatically for you.

Take a look at:

https://laravel.com/docs/5.7/controllers#resource-controllers
1 Like

to be honest i ran CLI route list at first and all of those were shown but don’t know what happend afterwards , anyway thanks let me redo everything i guess its the best option now. once again thanks:heart::heart:

Let me know if you run into issues.

1 Like

No Issues
Just figured out the problem );

Well i was running

/links/index

which is wrong, i was supposed to run the directory name only which is “links” and then the index page loads automatically. which is what i wanted.

Just wanted to tell you that.
Thanks for Help though!
Pardon ma stupidity):