Laravel Search Query Example With Like Operator

In this Laravel tutorial, I will discuss the topic of the Laravel 8 search query and I will use like operator to search from s specific model in Laravel. So basically from this Laravel like query tutorial, you will learn how to use Laravel 8 like query to search a model data with the search key.

In my many previous tutorials, I showed how to search a model by key in Laravel. But in this example, I will simply show you a demo search application. We will pass a search key and we will search from the Post model using the like operator in Laravel.

There are so many ways to search data in Laravel applications like laravel scout or algolia etc. But in this example, we will see a very simple search example in Laravel using like query.


Step 1: Download Laravel

Before starting this Laravel search query like tutorial, we need a fresh Laravel application. So run below command to get it.

laravel new search


Read also: Laravel Search Multiple Models using Spatie Searchable Package


Step 2: Create Route

In this step, we have to create a route to make a Laravel search query example tutorial. 


use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SearchController;

Route::get('/search/', [SearchController::class,'search'])->name('search');


Step 3: Create controller

Now in this step, we need a controller to write this search query to get search data in Laravel. So create it like below:


namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class SearchController extends Controller
    public function search(Request $request){
        $search = $request->input('search');
        $posts = Post::query()
                    ->where('title', 'LIKE', "%{$search}%")
                    ->orWhere('body', 'LIKE', "%{$search}%")
        return view('search', compact('posts'));


Let assume we had two attributes like title and body in our posts table.


Read also: Use When() Condition in Eloquent Filter Query in Laravel


Step 4: Create Blade File

Now that we have the route and the controller all that is set to go, we just need to create a form in our search.blade.php file.



Then to display the results that file like below:



Recommended: Advanced Search Filter using Dropdown in Laravel


Okay, all are set to go. You can test now to search your model that it is working or not. 


#laravel #laravel-8x