laravel carbon 统计七天数据

        $where = ['recycle_user_id' => Auth::user()->user_id];

        $today = [
            Carbon::now()->startOfDay(),
            Carbon::now()->endOfDay()
        ];
        $seven = [
            Carbon::now()->subDays(7),
            Carbon::now()->startOfDay(),
        ];
        $month = [
            Carbon::now()->subDays(30),
            Carbon::now()->startOfDay(),
        ];

        $data = \DB::table('order')->select([
            \DB::raw('sum(case when status = "create" then 1 else 0 end) as create_count '),
            \DB::raw('sum(case when status = "finish" then 1 else 0 end) as finish_count '),
            \DB::raw('sum(case when status = "buyer_cancle" or status = "close" then 1 else 0 end) as cancle_count '),
            \DB::raw('sum(case when status = "create" or status = "finish" then 1 else 0 end) as all_count '),
        ])->where($where)->get()->toArray();

        $data = (array)$data[0];

        foreach (compact('today', 'seven', 'month') as $name => $between) {
            $data[$name] = \App\Models\Order::query()->where($where)->whereNotIn('status', \App\Models\Order::$paymentStatus)->whereBetween('created_at', $between)->sum('amount');
        }

        return $data;

posted @   liaosp  阅读(319)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示