Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Route [login] not defined

Tags:

php

laravel

Trying to play with Laravel today for the first time. I am getting the following error when I attempt to visit localhost/project/public:

InvalidArgumentException
Route [login] not defined.

app/routes.php:

<?php  Route::get('/', 'HomeController@redirect'); Route::get('login', 'LoginController@show'); Route::post('login', 'LoginController@do'); Route::get('dashboard', 'DashboardController@show'); 

app/controllers/HomeController.php:

<?php  class HomeController extends Controller {      public function redirect()     {         if (Auth::check())              return Redirect::route('dashboard');          return Redirect::route('login');     }  } 

app/controllers/LoginContoller.php:

<?php  class LoginController extends Controller {      public function show()     {         if (Auth::check())              return Redirect::route('dashboard');          return View::make('login');     }      public function do()     {         // do login     }  } 

app/controllers/DashboardController.php:

<?php  class DashboardController extends Controller {      public function show()     {         if (Auth::guest())              return Redirect::route('login');          return View::make('dashboard');     }  } 

Why am I getting this error?

like image 961
inkd Avatar asked Mar 27 '15 15:03

inkd


People also ask

What is Auth :: Routes ();?

Auth::routes() is just a helper class that helps you generate all the routes required for user authentication. You can browse the code here https://github.com/laravel/framework/blob/5.3/src/Illuminate/Routing/Router.php instead.

How do you use Auth in laravel?

Authentication is the process of identifying the user credentials. In web applications, authentication is managed by sessions which take the input parameters such as email or username and password, for user identification. If these parameters match, the user is said to be authenticated.


1 Answers

You're trying to redirect to a named route whose name is login, but you have no routes with that name:

Route::post('login', [ 'as' => 'login', 'uses' => 'LoginController@do']); 

The 'as' portion of the second parameter defines the name of the route. The first string parameter defines its route.

like image 148
Jeff Lambert Avatar answered Sep 24 '22 13:09

Jeff Lambert