user(); // 如果有已过期的订单,则将过期订单的状态修改为已取消 if ($user->orders()->expired()->count()) { $user->orders()->expired()->update([ 'status' => Order::STATUS_CANCELLED, ]); } $statistics = $user->orders() ->selectRaw('count(1) as aggregate, status') ->groupBy('status') ->pluck('aggregate', 'status'); return response()->json([ // 待付款订单数 'pending_orders_count' => $statistics->get(Order::STATUS_PENDING, 0), // 待收货订单数 'unreceived_orders_count' => $statistics->get(Order::STATUS_PAID, 0) + $statistics->get(Order::STATUS_SHIPPED, 0), ]); } }