Я настраиваю панель управления пользователями и хочу, чтобы она показывала, сколько пользователей регистрируется.
Я пробовал несколько вещей, но это не сработало для меня.
Мой код на панели инструментов:
<h5 class = "card-title text-uppercase text-muted mb-0">Registerd Users</h5>
<span class = "h2 font-weight-bold mb-0">$usersCount = DB::table('users')
Мой код в пользовательском контроллере:
public function index()
users = DB::table('users')->get();
return view('user.index', ['users' => $users]);






Просто поставьте count($users) и все заработает
ErrorException (E_ERROR) Неопределенная переменная: пользователи (Просмотр: D:\xampp\htdocs\msystem\resources\views\layouts\headers\cards.blade.php) (Просмотр: D:\xampp\htdocs\msystem\resources\ views\layouts\headers\cards.blade.php) Предыдущие исключения
Просто измените вернуться к этому return view('user.index', compact('users'));
Запустите эти команды php artisan view:clear и php artisan cache:clear
я думаю да, я использую домашний контроллер, и для просмотра я используюcards.blade.php
Вы можете использовать :
DB::table("users")->count();
Или
App\User::count();
Предупреждение: не используйте функцию php count() .. в этой функции есть проблема
Это гораздо лучший подход, чем другие. ->get()->count() или count($users) подойдет SELECT * FROM users, что остановит ваш сервер, если у вас много тысяч пользователей. Этот подход позволяет избежать этой проблемы (подойдет SELECT COUNT(*) FROM users, который возвращает только одну строку данных). +1.
Вы также можете использовать
$users = DB::table('users')->count();
Также вы можете использовать в лезвии
{{count($users)}}
если вы используете этот запрос
users = DB::table('users')->get();
Я просто поместил приведенный ниже код в файл лезвия, и он работал в тегах php.
use Illuminate\Support\Facades\DB;
$student = DB::table('student')->count();
echo $student;
Вы не хотите делать
->get(). Он будет получать все данные обо всех пользователях каждый раз. Если у вас есть тысячи пользователей, это огромный объем данных. См. ответ от @AbbasHMohammed для лучшего подхода, чем тот, который вы приняли.