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

时间:2018-03-24 08:41:22

标签: php laravel

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

我已计算所有订单和列updated_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 个答案:

答案 0 :(得分:0)

计算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