Laravel 9 Subquery In Where Condition

Websolutionstuff | Oct-11-2022 | Categories : Laravel MySQL

In this article, we will see the laravel 9 subquery in where condition. You can learn how to create subquery in laravel 9. Sometimes you may need to construct a "where" clause that compares the results of a subquery to a given value. You may accomplish this by passing a closure and a value to the where method.

We will see a subquery with the select() function in laravel 9. You can also use subquery with join query. And also, you can write a subquery with the selectraw() function in laravel 9.

So, let's see the laravel 9 subquery in where clause.

Example 1:

 In this example, we will retrieve all user's data with a given membership type.

use App\Models\User;
$users = User::where(function ($query) {
        ->whereColumn('membership.user_id', '')
}, 'Basic')->get();


Example 2:

In this example, we will compare the column to the subquery using the operator in the where condition and retrieve all records. The following query will retrieve all income records where the amount is less than average.

use App\Models\Income;
$incomes = Income::where('amount', '<', function ($query) {
    $query->selectRaw('avg(i.amount)')->from('incomes as i');


You might also like:

Recommended Post
Featured Post
Bootstrap DateTimePicker Example
Bootstrap DateTimePicker Examp...

In this post i will show you how to implement bootstrap datetimepicker with example, bootstrap 4 datetimepicke...

Read More


Laravel 9 AJAX CRUD Example
Laravel 9 AJAX CRUD Example

In this post, we will learn how to create ajax crud operations in laravel 9. here, we will perform laravel 9 ajax c...

Read More


Send Email In Laravel
Send Email In Laravel

In this article, we will see how to send emails in laravel 6 and laravel 7. In this post, we will show how to send...

Read More


Two Way Data Binding In Angular 12
Two Way Data Binding In Angula...

In this article, we will see how two-way data binding in angular 12. When you create a variable or property to data...

Read More