Select dificil with Laravel

-1

I need to pass this select that cost me a lot to do it, to Laravel and there is no way, I would like to know if there is any way to put the query direct without passing each clause by the Laravel functions or if someone helps me pass it would be fine:)

SELECT s.class as clase,s.name as nombre,SUM(a.contador + b.contador + c.contador) as suma
        FROM
        (SELECT spec_id, count(spec_id) as contador
        FROM wow_$region_leadder_2v2_$season
        GROUP BY spec_id) a,
        (SELECT spec_id, count(spec_id) as contador
        FROM wow_$region_leadder_3v3_$season
        GROUP BY spec_id) b,
        (SELECT spec_id, count(spec_id) as contador
        FROM wow_$region_leadder_rbg_$season
        GROUP BY spec_id) c,
        wow_specs s
        WHERE a.spec_id = b.spec_id
        AND a.spec_id = c.spec_id
        AND a.spec_id = s.id
        GROUP BY clase,nombre
        ORDER by suma DESC LIMIT 1
    
asked by Akond 01.11.2017 в 12:33
source

1 answer

0

Try using DB :: query and pass your query.

//Preparo la consulta a ejecutar
$query = DB::raw('SELECT s.class as clase,s.name as nombre,SUM(a.contador + b.contador + c.contador) as suma
    FROM
    (SELECT spec_id, count(spec_id) as contador
    FROM wow_$region_leadder_2v2_$season
    GROUP BY spec_id) a,
    (SELECT spec_id, count(spec_id) as contador
    FROM wow_$region_leadder_3v3_$season
    GROUP BY spec_id) b,
    (SELECT spec_id, count(spec_id) as contador
    FROM wow_$region_leadder_rbg_$season
    GROUP BY spec_id) c,
    wow_specs s
    WHERE a.spec_id = b.spec_id
    AND a.spec_id = c.spec_id
    AND a.spec_id = s.id
    GROUP BY clase,nombre
    ORDER by suma DESC LIMIT 1');

//Obtengo el resultado de ejecutar la consulta
$result = DB::query($query);
    
answered by 01.11.2017 в 13:48