$list = aa::wherewhere(function (Query $q) use ($param){
$edate = $param['date'][1]." 23:59:59";
$q->whereBetween("add_time",[$param['date'][0],$edate]);
})
->field("DATE_FORMAT(add_time,'%Y-%m-%d') times,
CAST(AVG(correct) AS DECIMAL(10,2)) AS correct
")
->group('times')
->order("times asc")
->select()->each(function ($rt){
$rt['correct'] = $rt['correct'] + 0;
})->toArray();
$sdate = $param['date'][0];
$edate = $param['date'][1];
$begintime = strtotime($sdate);$endtime = strtotime($edate);
$today = [];
for ($start = $begintime; $start <= $endtime; $start += 24 * 3600) {
$today[] = date("Y-m-d", $start);
}
$info = [];
foreach ($today as $int => $i) {
$item = [
'times' => $i,
'correct' => 0,
];
if(!empty($list)){
foreach ($list as $k => $v) {
// 这条是这天的则赋值
if ($i == $v['times']) {
$item['correct'] = $v['correct'];
}
}
}
$info[] = $item;
}
halt($info)