我想在过去30天内每天统计所有注册用户。如果没有注册返回0
目前我正在使用此
$startDate = Carbon\Carbon::now()->subDays(30);
$signup = User::where('created_at', '>=', $startDate)
->groupBy('date')
->orderBy('date', 'DESC')
->get([
DB::raw('Date(created_at) as date'),
DB::raw('COUNT(*) as value')
]);
return $signup;
当前输出
[
{
"date" : "2014-05-29",
"value" : 1
},
{
"date" : "2014-05-15",
"value" : 1
}
]
如果没有注册,则显示值0
,例如
[
{
"date" : "2014-05-29",
"value" : 1
},
{
"date" : "2014-05-28",
"value" : 0
},
{
"date" : "2014-05-27",
"value" : 0
},
{
.....
.....
},
{
"date" : "2014-05-15",
"value" : 1
}
{
"date" : "2014-05-14",
"value" : 0
}
]
我怎样才能得到这样的结果。
答案 0 :(得分:1)
将$ result数组按值放在另一个数组值中,如果是lastrowdate - rowdate> 1天,使用此功能填写空日期: https://stackoverflow.com/a/4312491/3696548