查询并补全
用户填写开始日期,结束日期。返回数量,要求这个日期数据库没有数据要补0
数据库设计
date(日期,无重复) value(数量)
2018-1-1 100
2018-1-5 40
2018-1-10 8
API接口
用户输入 2018-1-1 2018-1-5
要求输出
2018-1-1 100
2018-1-2 0
2018-1-3 0
2018-1-4 0
2018-1-5 40
补全日期
$startDate=$request->get('startDate') ;
$endDate=$request->get('endDate') ;
$db=Contents::whereBetween('date',[$startDate,$endDate])->pluck('value','date');//从数据查询出来
$list=[];
$i=0;
do{
$date=Carbon::parse($startDate)->addDay($i)->toDateString();
if($date>$endDate)
{
break;
}
$list[$date]=$db[$date]??0;
$i++;
}while(true);
return $list;
上面是我的代码,有没有更加方法快速的
推荐文章: