Counting Related Models

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

Counting Related Models

Nếu bạn muốn đếm số lượng các kết quả từ 1 relationship mà không load chúng, bạn có thể sử dụng withCount method, bạn sẽ đặt cột {relation}_count trên result model của bạn. Ví dụ:

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

foreach ($posts as $post) {
    echo $post->comments_count;
}

Bạn có thể thêm "counts" cho nhiều relations cũng như thêm ràng buộc cho các truy vấn:

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

echo $posts[0]->votes_count;
echo $posts[0]->comments_count;

Last updated