Laravel whereHas and orWhereHas Query Example

WebSolutionStuff | Jan-19-2021 | Categories : Laravel PHP MySQL

In this article, we will see the laravel whereHas and orWhereHas query example. whereHas and orWhereHas query is used in laravel for relationships. So, here I will give you an example of how to use whereHas in laravel 7, laravel 8, and laravel 9, whereHas eloquent in laravel 7/8 work the same as the has() function.

has() is to filter the selecting model based on a relationship. So it acts very similarly to a normal WHERE condition. If you just use has('relation') that means you only want to get the models that have at least one related model in this relation. whereHas() works basically the same as has() but allows you to specify additional filters for the related model to check.

So, let's see the laravel 7/8/9 whereHas() and orWhereHas() query example and the whereHas() query example in laravel 7/8/9 or orWhereHas() query example in laravel 7/8/9.

Example 1:

$posts = Post::whereHas('comments', function (Builder $query) {
    $query->where('content', 'like', 'code%');


Example 2:

$users = User::whereHas('posts', function($q){
    $q->where('created_at', '>=', '2021-01-01 00:00:00');
// only users that have posts from 2021 on forward are returned


Example 3:

$posts = Post::whereHas('comments', function (Builder $query) {
    $query->where('content', 'like', 'code%');
}, '>=', 10)->get();


Example 4:

$posts = Post::has('comments', '>=', 3)->get();


Recommended Post

Featured Post

Follow us
facebooklogo github instagram twitter

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

Please add websolutionstuff to your ad blocking whitelist or disable your adblocking software.