diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php index 3fd907bc..39b323c8 100755 --- a/app/Http/Controllers/ArticleController.php +++ b/app/Http/Controllers/ArticleController.php @@ -14,11 +14,14 @@ class ArticleController extends Controller private function queryTest() { try { - $articoli = DB::table('T_WEB_Articoli as A') - ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) O'), 'A.IdArticolo', '=', 'O.CodArticoloGM') - ->select('A.IdArticolo', 'A.Titolo', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti')) - ->orderBy('totaleVenduti', 'desc') - ->get(); + $articoli = Article::join(DB::raw('(SELECT IdArticolo, MAX(DataOra) AS data FROM T_WEB_Articoli GROUP BY IdArticolo) b'), function ($join) { + $join->on('T_WEB_Articoli.IdArticolo', '=', 'b.IdArticolo') + ->on('T_WEB_Articoli.DataOra', '=', 'b.data'); + }) + ->leftJoin(DB::raw('(SELECT CodArticoloGM, SUM(Qta) as totaleVenduti FROM T_WEB_Ordini GROUP BY CodArticoloGM) O'), 'T_WEB_Articoli.IdArticolo', '=', 'O.CodArticoloGM') + ->select('T_WEB_Articoli.*', 'b.data as ultimaDataOra', DB::raw('COALESCE(O.totaleVenduti, 0) as totaleVenduti')) + ->orderBy('totaleVenduti', 'desc') + ->get(); if ($articoli->isEmpty()) { return response()->json(['message' => 'Nessun articolo trovato.'], 404);