Postingan lainnya
Menjumlahkan data pertanggal berdasarkan periode bulan yang sudah di tentukan pada laravel
Saya sedang membuat laporan bulanan pada aplikasi saya, dimana dalam laporan ini menampilkan jumlah/total data transaki pembayaran pertanggal dalam periode bulan tertentu yang ditentukan melalui request input, tapi saya kesulitan mengimplementasikannya dalam laravel, sejauh ini saya mencoba dengan cara berikut :
$data = Pembayaran::select([
DB::raw('count(id) as `count`'),
DB::raw('DATE(created_at) as day')
])->groupBy('day')
->where('created_at', '>=', Carbon::now()->subWeeks(1))
->get();
$output = [];
foreach($data as $entry) {
$output[$entry->day] = $entry->count;
}
dd($output);
Hasil Outputnya seperti ini :
array:5 [▼
"2021-01-01" => 1
"2021-01-03" => 1
"2021-01-04" => 3
"2021-01-05" => 1
"2021-01-07" => 1
]
Meskipun ini hanya menampilkan tanggal yang mempunyai data saja tapi Ini mendekati apa yang saya harapkan, saya berharap bisa menampilkan semua tanggal dalam periode bulan yang sudah di tentukan meskipun hasil perhitungannya NOL (0)/Tidak ada data.
1 Jawaban:
<div>silahkan dicoba menjumlah data per tanggal dalam satu bulan di laravel<br>contoh di bawah masukkan $month dan $year sebagai filter bulan dan tahun<br><br></div><pre>Table::select('created_at')
->whereMonth('created_at', '=', date($month))
->whereYear('created_at', '=', date($year))
->orderBy('created_at')
->get()->groupBy(function($time) {
return Carbon::parse($time->created_at)->format('Y-m-d');
});</pre>
Tanggapan
terimakasih banyak mas hilman