Как посчитать две связанные таблицы, используя Laravel Query Builder? - PullRequest
0 голосов
/ 15 января 2020

У меня есть две таблицы в моей базе данных

Моя первая таблица

enter image description here

И моя вторая таблица

enter image description here

Я хотел бы посчитать, сколько существует золотых членов и сколько серебряных членов ... Я хочу сделать один подсчет для каждой категории ... Риф может повторить в столбце, но это ключ к объединению двух таблиц .. Я работаю с Query Builder и хотел бы продолжить работу с этим. Кто-то может мне помочь?

Я пытался с этим кодом, но не работал

$count = DB::table('table1')
    ->join('table2', 'table1.rif', '=', 'table2.rif')
    ->select(DB::raw('category')
    ->count();

1 Ответ

1 голос
/ 15 января 2020

Попробуйте:

use Illuminate\Support\Facades\DB;

DB::table('table2')
    ->join('table1', 'table2.rif', '=', 'table1.rif')
    ->select(DB::raw('count(*) as count'), 'table1.category as category')
    ->groupBy('category')
    ->get();

Если вы хотите сосчитать только определенную c категорию:

DB::table('table2')
    ->join('table1', 'table2.rif', '=', 'table1.rif')
    ->where('table1.category', 'Silver')
    ->count()

Подробнее см. Laravel документы Информация.

...