//вот так думаю не лучшее решение потому что много походу запросов к БД так это только для одного дня а если сразу для нескольких времен
//Нужно посчитать количество заказов за текущий день
(new, processing, completed, rejected)
//Нужно посчитать количество заказов за текущий неделю
(new, processing, completed, rejected)
//Нужно посчитать количество заказов за текущий месяц
(completed, rejected)
//Нужно посчитать количество заказов за текущий год
(completed, rejected)
//Нужно посчитать количество заказов за все время
(completed, rejected)
public function countOrders(): JsonResponse
{
$user = Auth::user();
//for Day
$countOrdersNewDay = $user->orders()
->where('orders.created_at', '>', Carbon::today())
->where('status', 'new')
->count();
$$countOrdersProcessingDay = $user->orders()
->where('orders.created_at', '>', Carbon::today())
->where('status', 'processing')
->count();
$countOrdersCompletedDay = $user->orders()
->where('orders.created_at', '>', Carbon::today())
->where('status', 'completed')
->count();
$countOrdersRejectedDay = $user->orders()
->where('orders.created_at', '>', Carbon::today())
->where('status', 'rejected')
->count();
return response()->json([
'count_orders' => [
'day' => [
'new' => $countOrdersNewDay,
'processing' => $$countOrdersProcessingDay,
'completed' => $countOrdersCompletedDay,
'rejected' => $countOrdersRejectedDay,
]
]
]);
}
спасибо