代码之家  ›  专栏  ›  技术社区  ›  Jadasdas

从订单获取平均交货时间laravel laravel

  •  0
  • Jadasdas  · 技术社区  · 7 年前

    我有一个电子商务应用程序。所有交付的订单都有一列“updated\u at”。我可以用此列计算平均交货时间总交货订单数吗?

    我统计了所有订单和更新的列。我需要做的是计算平均时间?

    我的代码:

            $avgDelivery = Order::where('status', '=', '8')->avg('updated_at');
            $allDelivery = Carbon::parse($avgDelivery)->formatLocalized('%d'); //get avg days
    

    但这会回报我 20180317368025.6000 和错误:
    DateTime::__counstruct(): Failed to parse time string... Unexpected character

    我如何才能正确地获得平均交货时间和天数?

    1 回复  |  直到 7 年前
        1
  •  0
  •   linktoahref Nimya V    7 年前

    计算平均值 datetime 属于 updated_at

    $avgDelivery = Order::where('status', '=', '8')
                        ->selectRaw('FROM_UNIXTIME(AVG(UNIX_TIMESTAMP(updated_at))) as avgTime');
                        ->first();
    
    $allDelivery = Carbon::createFromTimestamp($avgDelivery->avgTime)
                         ->formatLocalized('%d'); //get avg days
    

    References