Как получить количество регистраций пользователей за последние 30 дней, также в те дни число регистров, не зарегистрированных как 0, с сортировкой по убыванию, добавьте use Carbon\Carbon;
выше.таким образом, вы можете получить отсортированные данные за последние 30 дней зарегистрированного пользователя
$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);