Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
In this tutorial, we will learn How to pass multiple parameters in URL in Laravel.
Sometimes we need to pass multiple parameters in URL and then we get parameters from the controller and after that perform an action. Basically, It uses for Custom URL or Pretty URL Structure in Laravel application.
We can pass multiple parameters through the named route to the controller method.
Let’s see an Example, will first define a route with multiple parameters.
In the web.php file we are passing 2 parameters, you can pass multiple parameters in routes, we have a products table in our database, in the products table, we have multiple fields like id, product_no, product name, product description.
We will pass id and product_no in the URL and then we access these parameters from the controller.
routes/web.php :
#Passing Multiple Parameters
Route::get('/view-product/{id}/{product_no}','ProductController@ViewProduct')->name('view.product');
Now, we can setup a named route link in view as below:
resources/views/product/list.blade.php
<table class="table">
<thead>
<tr>
<th>S.no</th>
<th>Order / Product No.
<th>Product Name</th>
<th>Product Description</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach($productList as $key => $data)
<tr>
<td>{{ $key+1 }}</td>
<td>{{$data->product_no}}</td>
<td>{{$data->name}}</td>
<td>{{$data->description}}</td>
<td><a href="{{route('view.product',[$data['id'],$data['product_no']])}}">View Product</a></td>
</tr>
</tbody>
@endforeach
</table>
<a href="{{route('view.product',[$data['id'],$data['product_no']])}}">View Product</a>
App\Http\Controllers\ProductController
Now, we access the parameter’s values in the controller.
#Get Parameters
public function ViewProduct($id,$product_no)
{
dd($id,$product_no);
}
In this tutorial, we learned “How to pass multiple parameters in url laravel”, I hope this article will help you with your Laravel application Project.