Задать вопрос
@azmarin

Как вывести в Laravel — кол-во пользователей из определенной категории?

Как вывести в Laravel - кол-во пользователей из определенной категории?

Так выводим общее количество:
$users = DB::table('users')->count();

В базе, в таблице users есть category_id
category_id = 2 - такие-то пользователи
  • Вопрос задан
  • 1189 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
@anlamas
Уже третий вопрос на эту тематику.
В твоем случае у тебя реализовано Один-ко-многим, то есть, 1 категория => много пользователей.
Настроим отношения и напишем запросы
//  User.php
public function category()
{
    return $this->belongsTo(Category::class);
}

//  Category.php
public function users()
{
    return $this->hasMany(User::class);
}

// в контроллере получаем категории и кол-во пользователей
$categories = Category::withCount('users')->get();

// кол-во определенных пользователей
$categories = Category::withCount(['users' => function($query) {
    $query->where('active', 1);
}])->get();

// доступ во вьшке
@foreach($categories as $category)
    {{ $category->users_count }}
@endforeach


Есть русскоязычные сайты с докой laravel.su и laravel.ru
Ответ написан
@azmarin Автор вопроса
Жуть какая-то(((
Ответ написан
Комментировать
$users = DB::table('users')->where("category_id", "=", 2)->count();

Вроде так но как по мне лучше использовать ORM)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы