Php 计算平均交货时间laravel
我有一个电子商务应用程序。所有交付的订单都有一列“更新位置”。我可以用这个列计算平均交货时间总交货订单吗 我已经清点了所有订单和更新的列。 我需要做的是计算平均时间 我的代码:Php 计算平均交货时间laravel,php,laravel,Php,Laravel,我有一个电子商务应用程序。所有交付的订单都有一列“更新位置”。我可以用这个列计算平均交货时间总交货订单吗 我已经清点了所有订单和更新的列。 我需要做的是计算平均时间 我的代码: $deliveryTime = Order::where('status', '8')->count(); //get A count delivered orders.. 你可以这样做。它将返回状态为8的订单的平均值 $deliveryTime = Order::where('state', '=', '8')
$deliveryTime = Order::where('status', '8')->count(); //get A count delivered orders..
你可以这样做。它将返回状态为8的订单的平均值
$deliveryTime = Order::where('state', '=', '8')->select(DB::raw('AVG(created_at) as order_average'))->get();
根据OP的问题和评论: 平均交货时间=平均(订单创建日期和订单交货日期的日期差) 订单创建日期字段=
created_at
order delivery date字段=
更新时间
如果需要对值进行舍入,可以使用
round($averageTime)
正如我所想,它需要更复杂的SQL查询,并且需要使用在字段中创建的来获取每个订单的交货时间,然后计算平均值;(SELECT AVG(TIMESTAMPDIFF(MINUTE,created_at,closed)))作为一个FROM orders,status=8
@Jadasdas订单创建日期存储在哪里?@ab_在created_at
列中,但是我如何获得平均交付时间呢?我需要获得,例如:平均交付时间:15天在数据库上的延迟,但请查看DATEDIFF(date1,date2)
sql函数与AVG(列)
配对。我得到:66.285714285714.66天-这是平均交货时间?:)在db I have dates中,如何验证?通过附加的测试约束来减小大小。如果要手动验证,请计算日期差并找到平均值,然后使用代码结果进行验证。我的代码在我的条件下进行了测试,测试成功。[假设您在
处创建的和在
处更新的都有时间戳
数据类型。让我们来看看。
$averageTime = Order::select(\DB::raw("DATEDIFF(updated_at, created_at)AS day_diff"))->where('status', '8')->get()->avg('day_diff');