Запрос с выбором и подсчетом в laravel - PullRequest
0 голосов
/ 04 мая 2018

Я сделал этот запрос в SQL, но не могу заставить его работать в Eloquent. Пожалуйста, помогите мне.

SELECT 
    tags.desc,
    COUNT(planificacion_info.id_area) as cantidad_intervenciones
FROM 
    tags
    INNER JOIN planificacion_info ON planificacion_info.id_area = tags.id_tag
WHERE 
    tags.grupo = 'area' and tags.estado = true
GROUP BY
    tags.desc

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Было бы что-то подобное

$tags= DB::table('tags')
    ->select('tags.desc',DB::raw("COUNT(planificacion_info.id_area) AS cantidad_intervenciones")
    ->innerJoin('planificacion_info','planificacion_info.id_area','=','tags.id_tag')
    ->where('tags.grupo','area')
    ->where('tags.estado',true)
    ->groupBy('tags.desc')
    ->get();
0 голосов
/ 04 мая 2018

Вы можете сделать это так:

$result = \DB::table('tags')->selectRaw('tags.desc, COUNT(planificacion_info.id_area) as cantidad_intervenciones')
            ->join('planificacion_info', 'planificacion_info.id_area', '=', 'tags.id_tag')
            ->where('tags.grupo', 'area')
            ->whereRaw('tags.estado = true')
            ->groupBy('tags.desc')
            ->get();

, который дает вам этот запрос:

SELECT 
  tags.desc, 
  COUNT(planificacion_info.id_area) AS cantidad_intervenciones 
FROM 
  `tags` 
  INNER JOIN `planificacion_info` ON `planificacion_info`.`id_area` = `tags`.`id_tag` 
WHERE 
  `tags`.`grupo` = 'area' 
  AND tags.estado = TRUE 
GROUP BY 
  `tags`.`desc`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...