Route not defined in Laravel 5.6

Active3 hr before
Viewed126 times

6 Answers


Meta Stack Overflow , Stack Overflow help chat , Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers ,Thanks for contributing an answer to Stack Overflow!

The route() method, which is called when you do ['route' => 'someroute'] in a form opening, wants what's called a named route. You give a route a name like this:

Route::patch('/preferences/{id}', [
   'as' => 'user.preferences.update',
   'uses' => 'UserController@update'

Then, when you open the form, you call the route:

   !!Form::model(Auth::user(), [
      'method' => 'PATCH',
      'route' => ['user.preferences.update', Auth::user() - > id]
   ]) !!
load more v

In this article, we will discover how to fix the route not defined error that is a very common occurrence in Laravel. This error usually points to routes, controller, or view files. Investigating these files will help us fix the route not defined issue.,When you come across this error in Laravel, make sure to check the following parts of your application,Hope this helps, keep this checklist handy for the next time this happens, this common mistake is easy to miss when developing! For further reading on Laravel named routes, you can check out the documentation here.,Notice the ->name('dashboard') part of this routes syntax, this is of extreme importance to be correctly defined if you want to use the route() function to generate URLs.

Route::get('/dashboard', 'MyController@dashboard') - > name('dashboard');
load more v

If you are defining a route that redirects to another URI, you may use the Route::redirect method. This method provides a convenient shortcut so that you do not have to define a full route or controller for performing a simple redirect:,{note} Encoded forward slashes are only supported within the last route segment.,Next, define a route that contains a {user} parameter:,Basic Routing Redirect Routes View Routes

The most basic Laravel routes accept a URI and a closure, providing a very simple and expressive method of defining routes and behavior without complicated routing configuration files:

use Illuminate\ Support\ Facades\ Route;

Route::get('/greeting', function() {
   return 'Hello World';
load more v

Check details here,When you use named route route then you have to specify routes name in your routes/web.php file. Like this ,The above routes update different resources but it will still return an error Route update_permission not defined or Route update_role not defined.,So the best thing to do is to use a different uri in each route so as to prevent conflict like this


Route::post('/register/basic/create', '[email protected]') - > name('register');
load more v

The reason you get a route not defined error is that you are generating the url /product-show/{table_name}/{product_id} and the actual url is /show/{table_name}/{product_id}. Also, adding the parameters manually is bad practice when there are many helper functions that do this for you.,I keep getting route not defined error and if I use url() I get server can not provide a secure connection error. I hope I can get some help.,To call a route by name, you should use the route function and add the parameters in an array as the second parameter.,The second parameter for this function is the http status that should be sent to the visitor. So when you add an array this is parsed as a 1.


Route::get('/show/{table_name}/{product_id}', 'PageCotroller@showdetails') - > name('product-show');


<h4><a href="{{ url('product-show' .$table_name . '/' .$product->item_id)}}">{{ $product->title }}</a></h4>


   function showdetails($table_name, $pid) {

      $categories = Category::all();
      $data['product_id'] = $pid;
      $data['table'] = $table_name;
      $shop_name = Shop::all();
      $query = DB::table($table_name) -
         > select('*') -
         > where('item_id', '=', $pid) -
         > get();;
      $image = Item_image::all();
      $pro_img = DB::table('item_images') -
         > select('image_loc') -
         > where('prod_id', $pid) -
         > get();
      return view('show_details', compact('categories', 'image', 'pro_img', 'table_name', 'shop_name'));

load more v

You can do this by not defining SENTRY_LARAVEL_DSN in your .env or define it as SENTRY_LARAVEL_DSN=null.,Other VersionsLearn about using Sentry with Laravel Lumen or Laravel 4.x/5.x/6.x.,Setup Sentry with this command:,Learn more about sampling in Using Your SDK to Filter Events.

composer require sentry / sentry - laravel
load more v

Other "route-defined" queries related to "Route not defined in Laravel 5.6"