Laravel whereHas and orWhereHas Query Example

    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%');
})->get();

    Example 2:

$users = User::whereHas('posts', function($q){
    $q->where('created_at', '>=', '2021-01-01 00:00:00');
})->get();
// 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();
Bình luận
Vui lòng đăng nhập để bình luận
Một số bài viết liên quan