dongyi1159 2019-04-27 09:12
浏览 186

如何在laravel php中获取最近30天的用户注册数

How to get last 30 days user register count also in those days not register count is 0 with sorting descending order add use Carbon\Carbon; in above. this way you can get a sorted data of last 30 days of user registered

$chartDatas = User::select([
      DB::raw('DATE(created_at) AS date'),
      DB::raw('COUNT(id) AS count'),
    ])
    ->whereBetween('created_at', [Carbon::now()->subDays(30), Carbon::now()])       
    ->groupBy('date')
    ->orderBy('date', 'DESC')
    ->get()
    ->toArray();

$chartDataByDay = array();
foreach($chartDatas as $data) {     
    $chartDataByDay[$data['date']] = $data['count'];
}
$date = new Carbon;
for($i = 0; $i < 30; $i++) {
  $dateString = $date->format('Y-m-d');
  if(!isset($chartDataByDay[ $dateString ])) {
    $chartDataByDay[ $dateString ] = 0;
  }
  $date->subDay();
}
$array = array();
foreach($chartDataByDay as $key => $value){
    $key = date('Y-m-d',strtotime($key));
    $array[$key] = $value;
}
ksort($array);
print_r($array);
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题