diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 610dc73b..c1ecef6f 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -15,16 +15,16 @@ class ArticleController extends Controller { ini_set("memory_limit", "512M"); try { - $articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE Dataora >= ? GROUP BY IdArticolo) b'), function ($join) { + $articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli WHERE DataOra >= ? GROUP BY IdArticolo) b'), function ($join) { $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') ->on('T_WEB_Articoli.DataOra', '=', 'b.data'); }, [$data_start]) - ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) { - $join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM'); - }, [$data_start]) - ->leftJoin(DB::raw('(SELECT g.IdTipologia, g.Descrizione as DescrizioneTipologia FROM T_WEB_Tipologie g JOIN (SELECT IdTipologia, MAX(DataOra) as data1 from T_WEB_Tipologie GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) { + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini WHERE DataOra >= ? GROUP BY CodArticoloGM) O'), function ($join) use ($data_start) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM'); + }, [$data_start]) + ->leftJoin(DB::raw('(SELECT g.IdTipologia, g.Descrizione as DescrizioneTipologia FROM T_WEB_Tipologie g JOIN (SELECT IdTipologia, MAX(DataOra) as data1 from T_WEB_Tipologie WHERE DataOra >= ? GROUP BY IdTipologia) h ON g.IdTipologia = h.IdTipologia AND g.DataOra = h.data1 ) i'), function ($join) use ($data_start) { $join->on('T_WEB_Articoli.IdTipologia', '=', 'i.IdTipologia'); - }) + }, [$data_start]) ->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti')) ->where('DescrizioneTipologia', 'Libri') ->orderBy('totaleVenduti', 'desc') @@ -47,27 +47,27 @@ class ArticleController extends Controller ini_set("memory_limit", "512M"); try { $ordini = DB::table('T_WEB_Ordini as O') - ->leftJoin(DB::raw('( + ->leftJoin(DB::raw('( SELECT IdArticolo, MAX(DataOra) as data FROM T_WEB_Articoli GROUP BY IdArticolo ) b'), 'O.CodArticoloGM', '=', 'b.IdArticolo') - ->join('T_WEB_Articoli as A', function ($join) { - $join->on('O.CodArticoloGM', '=', 'A.IdArticolo') - ->on('b.data', '=', 'A.DataOra'); - }) - ->select( - DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'), - 'O.DataOra', - 'O.Qta', - 'A.Titolo', - 'A.Ean13' - ) - ->orderBy('O.DataOra', 'desc') - ->take($numrec) - ->get(); + ->join('T_WEB_Articoli as A', function ($join) { + $join->on('O.CodArticoloGM', '=', 'A.IdArticolo') + ->on('b.data', '=', 'A.DataOra'); + }) + ->select( + DB::raw('ROW_NUMBER() OVER (ORDER BY O.DataOra DESC) AS progressivo'), + 'O.DataOra', + 'O.Qta', + 'A.Titolo', + 'A.Ean13' + ) + ->orderBy('O.DataOra', 'desc') + ->take($numrec) + ->get(); } catch (\Exception $e) { // Registrazione dell'errore