Laravel Eloquent where raw Condition Example

We will be taking an example to discuss whereraw concat in Laravel 6, Laravel 7, Laravel 8, and Laravel 9 projects.

Laravel provides a new eloquent function whereRaw(), using whereRaw and MySQL function. So we will be taking two examples one concat function and another date_format function with whereRaw.

You can see below syntax on or Where query in Laravel:

whereRaw(SQL Condition, Array Value);

Example 1: Laravel whereRaw() with Concat()

SQL Query:

"select * from `users` where concat(first_name,' ',last_name) = ?"

Laravel Query:

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\User;
  
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $search = "Hardik Savani";
  
        $users = User::select("*")
                        ->whereRaw("concat(first_name,' ',last_name) = ?", [$search])
                        ->get();
  
        dd($users);
    }
}

Example 2: Laravel whereRaw() with DATE_FORMAT()

SQL Query:

"select * from `users` where DATE_FORMAT(created_at, '%d-%m-%Y') = ?"

Laravel Query:

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\User;
  
class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $users = User::select("*")
                        ->whereRaw("DATE_FORMAT(created_at, '%d-%m-%Y') = ?", [date('d-m-Y')])
                        ->get();
  
        dd($users);
    }
}