📅  最后修改于: 2023-12-03 15:32:37.022000             🧑  作者: Mango
在Laravel中,集合是一种强大而通用的工具,封装了很多操作数组的常用方法。其中之一是获取平均值。我们可以使用avg()
方法轻松地计算集合中值的平均数。
考虑一个从数据库中查询订单总额的集合。
$orders = App\Order::all();
$totalAmounts = $orders->pluck('total_amount');
现在我们可以使用avg()
方法计算平均总额。
$averageAmount = $totalAmounts->avg();
echo $averageAmount; // 输出所有订单总额的平均值
有时我们需要对集合进行过滤,以计算值的平均数。我们可以使用filter()
方法创建一个新集合,该集合只包含满足某些条件的元素。然后,我们可以使用avg()
方法计算过滤后元素的平均数。
考虑以下示例。假设我们有许多商品,每种商品都有一个销售价格。我们只想计算具有给定最小价格的商品的平均价格。
$minPrice = 50;
$products = App\Product::all();
$filteredProducts = $products->filter(function ($product) use ($minPrice) {
return $product->price >= $minPrice;
});
$averagePrice = $filteredProducts->avg('price');
echo $averagePrice; // 输出所有具有最小价格的商品销售价格的平均值
在上面的代码中,我们使用filter()
方法将集合转换为包含仅具有销售价格大于或等于给定最小价格的商品的新集合。然后,我们使用avg()
方法计算price
属性的平均值。
使用Laravel集合可以方便地计算平均值。您可以使用avg()
方法计算整个集合或过滤后的集合的平均值。尝试使用Laravel集合来简化您的代码和增加可读性。
以上为本次Markdown文档创建的建议,根据实际情况可能需要适当调整。