Метод avg
Метод avg применяется к запросу Eloquent
или Query Builder и возвращает среднее арифметическое
значение указанного столбца. В качестве единственного
параметра передаётся имя колонки, для которой необходимо
вычислить среднее значение. Метод возвращает число
с плавающей точкой или null, если записей нет.
Синтаксис
<?php
Model::avg($column);
?>
Пример
Давайте вычислим средний возраст пользователей:
<?php
namespace App\Http\Controllers;
use App\Models\User;
class UserController extends Controller
{
public function index()
{
$res = User::avg('age');
echo $res;
}
}
?>
Результат выполнения кода:
"32.5"
Пример
Вычислим среднюю цену товаров с использованием
условия where:
<?php
namespace App\Http\Controllers;
use App\Models\Product;
class ProductController extends Controller
{
public function index()
{
$res = Product::where('active', true)->avg('price');
echo $res;
}
}
?>
Результат выполнения кода:
"199.99"
Пример
Метод avg также можно использовать с
группировкой через groupBy:
<?php
namespace App\Http\Controllers;
use App\Models\Order;
class OrderController extends Controller
{
public function index()
{
$res = Order::select('category')
->groupBy('category')
->avg('amount');
print_r($res);
}
}
?>
Результат выполнения кода:
['a' => 150.5, 'b' => 250.75, 'c' => 350.25]