#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();