laravel 实现订单统计一年源码

$year = $input['year'];
         // 订单统计一年
        $year = date('Y');
        $start_time = $year . '-01-01 00:00:00';
        $end_time = $year . '-12-31 23:59:59';
        $orders = NoteModel::whereBetween('note_date', [$start_time, $end_time])
            ->selectRaw('month(note_date) as month, sum(price) as total')
            ->groupBy('month')
            ->where('type',1)
            ->orderBy('month', 'asc')
            ->get();
        $orders = NoteModel::whereBetween('note_date', [$start_time, $end_time])
            ->selectRaw('month(note_date) as month, sum(price) as total')
            ->groupBy('month')
            ->where('type',2)
            ->orderBy('month', 'asc')
            ->get();
        $orders_data = array();
        foreach ($orders as $order) {
            $orders_data[$order->month] = $order->total;
        }
       // 补全每月没有订单的月份
        for ($i = 1; $i <= 12; $i++) {
            if (!isset($orders_data[$i])) {
                $orders_data[$i] = 0;
            }
        }
      // 输出最终数据
        ksort($orders_data);
        dd($orders_data);



         
    //     date_default_timezone_set('PRC');
    //     $yeararr = [];
    //     for ($i = 1; $i <= 12; $i++) {
    //         $yeararr[$i] = $year . '-' . $i;
    //     }
    //     foreach ($yeararr as $key => $value) {
    //         $timestamp = strtotime($value);
    //         $mdays = date('t', $timestamp);
    //         $start_time =$year.'-'.date('m',$timestamp).'-01';
    //         $end_time =$year.'-'.date('m',$timestamp).'-'.$mdays;
    //         $totalSalesAmount[$key] = NoteModel::whereBetween('note_date',                                         
    //        [$start_time, $end_time])
    //         ->selectRaw('sum(price) as amount,month(note_date) as date')
    //         ->groupBy('date')->where("type",1)->get(['price'])->toArray();
              
    //      $totalSalesAmount1[$key] = NoteModel::whereBetween('note_date', 
    //     [$start_time, $end_time])
    //         ->selectRaw('sum(price) as amount,month(note_date) as date')
    //          ->groupBy('date')
    //              ->where("type",2)->get(['price'])->toArray();
    //     };

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值