How to pass laravel 8 route multiple parameters

laravel pagination tricks

In this laravel tutorial we wil discuss how to pass multiple parameters in laravel 8 route.We send variables to controller method by laravel route method these variables show in route url.

Laravel 8 route pass multiple parameters

if you want to find how to pass multiple parameter throw laravel 8 named route than you right palace. We pass simple parameter and key value parameter throw routes and it get in controller method throw parameter key or name.

Laravel provide two type of parameters.

  1. Route required parameter
  2. Route optional parameter

Route required parameter

When we use required parameter than its value pass in route else we get error.Firstly these parameter key name define in routes web.php file than we get its value in controller method by corresponding key name.Let an example -

web.php file

Route::get('student-detail/{id}/{parameter}',[StudentController::class,'detail'])->name('student.detail');

Controller

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class StudentController extends Controller{
 public function detail(Request $request){
    $id = $request->id;
    $parameter = $request->parameter;
  }
}

view file

In view file we define our route.

<a href="{{ route('student.detail', ['id' => 5, 'parameter' => 'advanced-web-hindi']) }}">Student detail</a>

thus here two parameter(id and parameter) pass and both required if any miss than it give error where we call route.

Route optional parameter

The second type of route parameter is otional as its name these parameter are optional if we not give its value than it not give error.Let an example of optional parameter.

web.php file

for make an parameter to optional give a question mark sign after parameter.

Route::get('student-detail/{id?}/{parameter?}',[StudentController::class,'detail'])->name('student.detail');

view file

In view file we also give some parameter that are not define in our route these parameter show after question mark sign in url.

<a href="{{ route('student.detail', ['id' => 5, 'parameter' => 'advanced-web-hindi', 'name' => 'anmol']) }}">Student detail</a>

this url show as https://www.example.com/student-detail/5/advanced-web-hindi?name=anmol

Controller

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;

class StudentController extends Controller{
 public function detail(Request $request){
    $id = $request->id;
    $parameter = $request->parameter;
    $name = $request->name;
  }
}
php laravel developer anmol sharma

Anmol Sharma

I am a software engineer and have experience in web development technologies like php, Laravel, Codeigniter, javascript, jquery, bootstrap and I like to share my deep knowledge by these blogs.