2017-05-17 3 views
0

ich eine Abfrage auf meine mySQL haben wie dieseLEFT JOIN Abfrage Laravel 5.3

select p.tgl_pesan, COALESCE(SUM(dp.jumlah), 0) as jumlah 
FROM pemesanan p 
LEFT JOIN detail_pemesanan dp ON p.id_pemesanan = dp.id_pemesanan 
WHERE p.tgl_pesan >= DATE_ADD(NOW(), INTERVAL -6 day) 
GROUP BY p.tgl_pesan 

Und ich versuchte, wie diese

$data = DB::table('detail_pemesanan') 
     ->leftJoin('pemesanan', 'detail_pemesanan.id_pemesanan', '=', 'pemesanan.id_pemesanan') 
     ->select('pemesanan.tgl_pesan as tgl_pesan', DB::raw('SUM(detail_pemesanan.jumlah) as jumlah')) 
     ->where('tgl_pesan', '>=', 'DATE_ADD(NOW(), INTERVAL -6 DAY)') 
     ->groupBy('pemesanan.tgl_pesan') 
     ->get(); 

Aber beide, die zeigen, dass die Abfrage zu meinem Laravel Projekt anwenden verschiedene Ergebnisse. Das Ergebnis meines Laravel-Projekts zeigt unerwartete Daten wie mySQL, es zeigt mehr Daten aus meinem Intervall. Ist etwas falsch mit meiner Anfrage zu meinem Laravel-Projekt? Vielen Dank

Antwort

0

Ihre SQL-Abfrage wird:

$data = DB::table('pemesanan as p') 
     ->select('p.tgl_pesan', DB::raw('SUM(dp.jumlah) as jumlah')) 
     ->leftJoin('detail_pemesanan as dp', 'p.id_pemesanan', '=', 
    'dp.id_pemesanan') 
     ->whereRaw('p.tgl_pesan >= DATE_ADD(NOW(), INTERVAL -6 DAY)') 
     ->groupBy('p.tgl_pesan') 
     ->get(); 
+0

es immer noch das gleiche Ergebnis zeigen, wie ich getan habe, nicht wie meine mySQL Abfrage –

+0

@ 3unoia.id ich die Antwort aktualisieren –

+0

Oh, es funktioniert jetzt, vielen Dank für Ihre Hilfe –