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.
Related Queries
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
- Create model with migration and seeder
- Get current URL on visit URL in Laravel
- Rendering HTML from database table to view in Laravel
- Class 'App\Rules\Hash' not found in Laravel
- Credit card validation in laravel
- How to restore deleted records in laravel
- Rename Pivot Table in Laravel
- Insert dummy data in users table Laravel
- Conditional validation in laravel
- How to use bootstrap pagination in laravel 8
- Fatal error: Uncaught Error: Class "Illuminate\Foundation\Application" not found
- Laravel order by date not working
- Create project factory and seed data in laravel
- Datetime field in Laravel migration
- Laravel 11 project setup on localhost using breeze with blade step by step
- Laravel get count with where condition
- Split an Eloquent Collection by half in Laravel
- Print query in laravel
- How to add dynamic page title in Laravel view
- Extract only time from datetime in laravel
- Redirect to another view from controller in laravel
- Global scope in Laravel with example
- Laravel migration add foreign key to existing table
- Get last week data in Laravel
- How to print form data in laravel