estoy usando laravel танго 6,0 лет este código que funciona а-ля perfección
$data = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->select(DB::raw('count(*) as silver, cat_cliente'))->where('cat_cliente', '=','Silver')
->groupBy('cat_cliente')
->get();
return view('Incidencias.index', compact('data'));
Quisiera hacer otro выбор, он intentado esto pero я da ошибка:
$data = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->select(DB::raw('count(*) as silver, cat_cliente'))->where('cat_cliente', '=','Silver')
->select(DB::raw('count(*) as gold, cat_cliente'))->where('cat_cliente', '=','Gold')
->groupBy('cat_cliente')
->get();
return view('Incidencias.index', compact('data'));
Gracias de antemano!!
Я считаю, что то, что ты ищешь, ты можешь решать с одним CASE WHEN
таким образом:
$data = DB::table('incidencias')
->select('cat_client')
->selectRaw("COUNT(CASE WHEN cat_client = 'silver' THEN 1 ELSE NULL END) AS Silver")
->selectRaw("COUNT(CASE WHEN cat_cliente = 'gold' THEN 1 ELSE NULL END) AS Gold")
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->groupBy('cat_cliente')
->get();
Где:
COUNT
, когда cat_client
будет равен silver
, и даем ему прозвище Silver gold
select
по отдельности чтобы выбирать в колонну cat_client
, которая является той, которую ты занимаешь, чтобы делать твое группирование DB::raw
на метод selectRaw
CASE WHEN
, ты идешь в ponder устанавливать многообразные условия, и когда каждая будет выполнена, тебе произвела новая колонна с желанной стоимостью Ссылок