Querying Relationship Absence

https://viblo.asia/p/eloquent-relationships-in-laravel-phan-3-MJykjmxyePB

Querying Relationship Absence

Khi truy cập vào các record của 1 model, bạn muốn giới hạn kết quả dựa trên sự vắng mặt của 1 relationship. Ví dụ, hãy tưởng tượng bạn muốn lấy tất cả các posts mà không có bất kỳ comment nào, Để làm như vậy, bạn có thể sử dụng method doesntHave.

$posts = App\Post::doesntHave('comments')->get();

Nếu bạn cần nhiều hơn nữa, bạn có thể sử dụng method whereDoesntHave đặt "where" trong điều kiện query của bạn. Method này cho phép bạn thêm các ràng buộc tùy chỉnh cho 1 relationship, chẳng hạn như kiểu tra nội dung của 1 comment:

$posts = Post::whereDoesntHave('comments', function ($query) {
    $query->where('content', 'like', 'foo%');
})->get();

Last updated