Как подсчитать количество пользователей из таблицы через представления в laravel?

#mysql #database #count #laravel-5.5

#mysql #База данных #подсчитать #laravel-5.5

Вопрос:

Я работаю над laravel 5.5 и пытаюсь подсчитать количество пользователей из таблицы и отобразить результат из представления.

Но я получаю сообщение об ошибке

«Неопределенная переменная: count»

Это функция внутри контроллера:

 public function admin(){

   $count = DB::select('select count(*) as total from users');
   return view('home',['count' => $count]);
}
  

Это код внутри представления ‘home’:

 <tr>
   <td> Total Users </td>
   <td> Total Coaches </td>
   <td> {{$count}} </td>
</tr>
  

Ответ №1:

Вы указали переменную в строке, подобной этой ['count => $count'] , поэтому она не сработала.

Попробуйте приведенный ниже код в вашем контроллере:

 public function admin()                                                    
{                                              
   $count = DB::select('select count(*) as total from users');
   return view('home', ['count' => $count[0]->total]);                      
}                                                                  
  

Ответ №2:

Проблема здесь:

 return view('home',['count => $count']);  
// Single quotation is on wrong place, array key will be wrapped with single quotation not the variable
  

измените его на:

 return view('home',['count' => $count]);
  

и на вашем представлении попробуйте:

 {{ $count[0]->total }}
  

Комментарии:

1. Извините, это была опечатка, когда я загружал сюда код. В любом случае, это не проблема.

Ответ №3:

у меня это работает

   use IlluminateSupportCarbon;
        
        
    $users_count = User::count();
    $users_today = User::where('created_at','>=',Carbon::now()->startOfDay())->count();
    $users_this_week = User::where('created_at','>=',Carbon::now()->startOfWeek(CarbonCarbon::SATURDAY)->startOfDay())->count(); // default startOfWeek() is Monday
    $users_this_month = User::where('created_at','>=',Carbon::now()->firstOfMonth()->startOfMonth()->startOfDay())->count();
    $users_this_year = User::where('created_at','>=',Carbon::now()->firstOfMonth()->startOfMonth()->startOfDay())->count();