ChartJS Laravel 8:为什么在雄辩的日期排序是错误的,使用碳

q3qa4bjr  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(143)

可能的重复项:
Laravel: How to order date, change the date format and group by the date?
Laravel Carbon format wrong date
我用chartjs创建了一个折线图,图表和数据提取工作正常。但是日期的顺序是错误的。它以Aug 2022而不是Jan 2022开始。

  • 当我使用orderBy()时,它显示orderBy() doesn't exists错误。
  • 当我使用CarboncreateFromFormat()时,它显示missing data错误。

为什么?我用Carbon解析了日期,列类型是datetime,它不应该工作吗?

这是我的laravel系列:

$data = TrafficViolation::select('id', 'violationDateTime')
            ->get()
            ->sortBy('violationDateTime')
            ->groupBy(function($data) {
                return Carbon::parse($data['violationDateTime'])->format('M, Y');
            });
csbfibhn

csbfibhn1#

orderBy()是一个**Query Builder方法。一旦调用get(),就会得到一个Collection**示例。
要对数据库中的记录进行排序,您需要先调用orderBy(),然后调用get()

UPDATE:我已包含记录计数和日期格式。您仍然需要按violationDateTime列对记录进行排序

$data = User::selectRaw('COUNT(*) as violation_count, DATE_FORMAT(violationDateTime, \'%M, %Y\') as formatedDate')
            ->groupBy('formatedDate')
            ->orderBy('violationDateTime')
            ->get();

如果你得到一个Syntax error or access violation: 1055,你需要改变mysql中的stritc模式为false/config/database.php中改变['connections' => ['mysql' => ['strict' => false]]]

相关问题