Лучший способ сделать это с помощью одного запроса и одной переменной:
public function index()
{
// single query to get total user and status based users count
$data = User::select(DB::raw('COUNT(*) AS total_users'),
DB::raw('SUM(CASE WHEN status = "Active" THEN "Active" END ) AS active_users'),
DB::raw('SUM(CASE WHEN status = "Inactive" THEN "Inactive" END ) AS inactive_users'),
DB::raw('SUM(CASE WHEN status = "OnAndOff" THEN "OnAndOff" END ) AS onoff_users')
)->first();
return view('member.home')->with($data);
}
Использовать в файле вида, например,
<div class="card border-success">
<div class="card-horizontal">
<div class="card-body bg-success">
<p class="card-text text-white bg-success text-md-center"><i class="fas fa-users fa-2x"></i></p>
</div>
<div class="card-body text-success">
<p class="card-text">Registered Member: <strong>{{ $total_users }}</strong></p>
<p class="card-text">Active Members: <strong>{{ $active_users }}</strong></p>
<p class="card-text">Active Members: <strong>{{ $active_users }}</strong></p>
<p class="card-text">Inactive Members: <strong>{{ $inactive_users }}</strong></p>
</div>
</div>
</div>
Надеюсь, это поможет.Спасибо.