Laravel Eloquent whereRaw Query Example

Laravel Eloquent whereRaw Query Example

Laravel where raw query example, you will learn how to write where raw and where DB raw query in laravel.

You can use the laravel whereRaw eloquent method to building query in laravel apps. And also use laravel where raw with multiple conditions in eloquent queries.

Follow the below examples and learn how to write query using whereRaw in laravel:

Example 1: Laravel whereRaw Query using Model

public function index()
{
    $users = User::whereRaw('YEAR(created_at) = ?', [date('Y')])->get();
    dd($users);
}

When you dump the above given whereRaw query you will get the following SQL query:

select * from `users` where YEAR(created_at) = ?

Example 2: whereRaw Query using Query Builder

public function index()
{
    $users = DB::table('users')->whereRaw('YEAR(created_at) == ? AND MONTH(created_at) == ?', [date('Y'),date('m')])->get();
                
    dd($users);
}

When you dump the above given whereRaw query you will get the following SQL query:

select * from `users` where YEAR(created_at) == ? AND MONTH(created_at) == ?

Example 3: whereRaw with multiple conditions in Laravel

Here’s an example of using whereRaw with multiple conditions in Laravel:

$minAge = 25;
$maxVotes = 100;

$users = DB::table('users')
    ->whereRaw('age > ? and votes <= ?', [$minAge, $maxVotes])
    ->get();

Conclusion

That’s it; you have learned how to use whereRaw with multiple conditions in laravel apps.

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

Leave a Reply

Your email address will not be published. Required fields are marked *