$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();
// };
laravel 实现订单统计一年源码
最新推荐文章于 2023-06-30 15:20:25 发布