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 vhdl+MODELSIM
    • ¥20 simulink中怎么使用solve函数?
    • ¥30 dspbuilder中使用signalcompiler时报错Error during compilation: Fitter failed,求解决办法
    • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
    • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
    • ¥15 知识蒸馏实战博客问题
    • ¥15 用PLC设计纸袋糊底机送料系统
    • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
    • ¥15 用C语言输入方程怎么
    • ¥15 网站显示不安全连接问题