
Laravel 9 pagination with search filter
Laravel 9 pagination with search filter
Good day, guys. In this post, we’ll look at how to solve the "Laravel 9 pagination with search filter" programming puzzle.
Sometimes we have to filter data from a table in Laravel using the search keyword provided by users. Here we provide search functionality with pagination in Laravel 9.-
Pagination with search filter in Laravel 9
//Run below command to make HomeController
php artisan make:controller HomeController
routes\web.php
use App\Http\Controllers\HomeController; Route::any('/home', [HomeController::class, 'index'])->name('user');
app\Http\Controllers\HomeController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class HomeController extends Controller { public function index(Request $request){ $users = User::paginate(2); $search = $request->q; if($search!=""){ $users = User::where(function ($query) use ($search){ $query->where('name', 'like', '%'.$search.'%') ->orWhere('email', 'like', '%'.$search.'%'); }) ->paginate(2); $users->appends(['q' => $search]); } else{ $users = User::paginate(2); } return view('home', compact('users')); } }
resources\views\home.blade.php
<form action="{{ route('user') }}" method="POST"> @csrf <input type="text" name="q" placeholder="search by user name and email..." /> <button type="submit"> Search </button> </form> <table class="table table-bordered"> <thead> <tr> <th>First Name</th> <th>Email</th> </tr> </thead> <tbody> @foreach($users as $user) <tr> <td>{{ $user->name }}</td> <td>{{ $user->email }}</td> </tr> @endforeach </tbody> </table> <div> {{ $users->links() }} </div>
You have to create a controller using php artisan make:controller HomeController.
Define route in web.php
Create controller method in HomeController class.
You also have to create a blade file home.blade.php in resources/views directory.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
Don't forget to share this article! Help us spread the word by clicking the share button below.
We appreciate your support and are committed to providing you valuable and informative content.
We are thankful for your never ending support.
Random Code Snippet Queries: Laravel
- How to get all route list
- Define variable and use in Laravel controller method
- Validation errors for multiple forms on same page Laravel
- Get current URL on visit URL in Laravel
- Get products with number of orders in Laravel
- How to customize pagination view in laravel
- Display success message in laravel
- How to get path from current URL in Laravel
- How to print form data in laravel
- How to add a key value pair to existing array in laravel
- Get all users except the followings users in overtrue laravel-follow
- How to pass two variables in HREF in laravel
- Recursive function example code PHP Laravel
- Create project factory and seed data in laravel
- Laravel get single row by id
- Laravel order by date not working
- How to get last month records in Laravel
- Multiple Level eager loading in Laravel
- Laravel insert query not working
- How to insert dynamic value to additional column in pivot table in laravel
- There are no commands defined in the "route:" namespace
- How to get route name on visit URL in laravel
- Route not defined in Laravel
- How to automatically update the timestamp of parent model in Laravel
- Composer\Exception\NoSslException