Eloquent Count Query Laravel 12 With Example

The `count()` method in Laravel 12 counts the number of records in a database table.

Basic `count()` Example

<?php
use App\Models\User;
$totalUsers = User::count();

echo "Total Users: " . $totalUsers;
?>

Counts all users in the `users` table.

Count with `where()` Condition

<?php
$activeUsers = User::where('status', 'active')->count();
echo "Active Users: " . $activeUsers;
?>

Counts only **users with status = ‘active’.

Count with `whereBetween()`

<?php
use Carbon\Carbon;

$startDate = Carbon::now()->subDays(30);
$endDate = Carbon::now();
$monthlyUsers = User::whereBetween('created_at', [$startDate, $endDate])->count();

echo "Users registered in the last 30 days: " . $monthlyUsers;
?>

Counts users registered in the last 30 days.

Count with `groupBy()` (Count by Category)

<?php
use App\Models\Product;

$categoryCounts = Product::select('category', DB::raw('count(*) as total'))
->groupBy('category')
->get();

foreach ($categoryCounts as $category) {
echo "Category: " . $category->category . " - Total: " . $category->total . "<br>";
}
?>

Counts products in each category.

Count in Relationship (Example: Count User Posts)

<?php
$user = User::withCount('posts')->find(1);

echo "User has " . $user->posts_count . " posts.";
?>

Retrieves user with the total count of their posts.

Using Query Builder

<?php
use Illuminate\Support\Facades\DB;
$totalOrders = DB::table('orders')->count();

echo "Total Orders: " . $totalOrders;
?>