Level 31
$months = [
1 => "Jan",
2 => "Feb",
3 => "Mar",
4 => "Apr",
5 => "May",
6 => "Jun",
7 => "Jul",
8 => "Aug",
9 => "Sep",
10 => "Oct",
11 => "Nov",
12 => "Dec",
];
$thisYearOrders = Order::query()
->whereYear('created_at', date('Y'))
->selectRaw('month(created_at) as month')
->selectRaw('count(*) as count')
->groupBy('month')
->orderBy('month')
->pluck('count', 'month')
->toArray();
$thisYearMonths = collect($months)->map(function ($value, $key) use ($thisYearOrders) {
return $thisYearOrders[$key] ?? 0;
});
$lastYearOrders = Order::query()
->whereYear('created_at', date('Y') - 1)
->selectRaw('month(created_at) as month')
->selectRaw('count(*) as count')
->groupBy('month')
->orderBy('month')
->pluck('count', 'month')
->toArray();
$lastYearMonths = collect($months)->map(function ($value, $key) use ($lastYearOrders) {
return $lastYearOrders[$key] ?? 0;
});
then in your data array for your graph you use
datasets: [{
label: 'Last Year Orders',
data: {{ $lastYearMonths->values() }},
} , {
label: 'This Year Orders',
data: {{ $thisYearMonths->values() }},
}]
2 likes