![Logo loader icon](https://w3codegenerator.com/img/logo-f2.png)
Use withCount() to get total number of records with relationship
Use withCount() to get total number of records with relationship
In this session, we will try our hand at solving the "Use withCount() to get total number of records with relationship".
-
Get number of records with relationships in Laravel Eloquent using withCount() method
//app\Http\Controllers\<YourController>.php public function index() { $posts = Post::withCount(['comments'])->get(); return view('posts', compact('posts')); } //resources\view\posts.blade.php <table> @foreach ($posts as $post) <tr> <td>Post <b> {{ $post->title }} </b> has <b> {{ $post->comments_count }} </b> comments </td> </tr> @endforeach </table> //app\Models\Post.php public function comments() { return $this->hasMany('App\Models\Comment'); }
You can get the relationship records count without loading data using withCount() method. You have to first define the comments method with hasMany relationship in your post model. If you don’t know how to create hasMany relation you can find it here laravel hasMany method. After that you can call withCount() method on comments method which returns you the number of comments associated with this particular post without actually loading them (data from relationship table).
This code snippet has been tested and it's working in laravel 8. First you have to define a route in web file, create a hasMany relationship method (comments) in post model, create a method in controller file and return data to view and after that dispaly data in view file.
Post Quibusdam ipsam est nihil explicabo. has 3 comments
Post Inventore cupiditate dolores officiis enim accusantium. has 4 comments
Post Ea delectus et incidunt. has 1 comments
Post Excepturi ducimus quo sapiente nesciunt amet. has 1 comments
Post Asperiores maxime maiores sed. has 1 comments
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
Don't forget to share this article! Help us spread the word by clicking the share button below.
We appreciate your support and are committed to providing you valuable and informative content.
We are thankful for your never ending support.
Random Code Snippet Queries: Laravel
- How to get all route list
- Delete records with relationship in laravel
- Insert values in pivot table dynamically in laravel
- Laravel pagination links with query string
- Best Practices for Error Handling in Production Server Code (example code)
- How to check column value of a record is null or not in laravel
- Link storage folder in laravel 8
- Credit card validation in laravel
- How to insert value to additional columns in pivot table in laravel
- Cast Array to an Object in Controller and then pass to view in laravel
- Input file with max size validation in laravel
- Target class [admin] does not exist.
- Laravel 11 project setup on localhost using breeze with blade step by step
- Laravel insert query not working
- Insert data with form validation using ajax in laravel
- Ajax GET request in laravel
- Get last record from table in laravel
- SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint
- How to send email in Laravel 11
- Import/Use Storage facade in laravel
- Non-static method App\Http\Helper::myFunction() should not be called statically
- PhpMyAdmin - Error The mysqli extension is missing
- How to check if user has created any post or not in laravel
- How to remove package from laravel
- Display option of select as selected with blade directive Laravel