تا حالا با متد avg تو لاراول کار کردید یا می‌دونستید چه کاربردی داره؟

این متد میانگین یه فیلد مشخص رو حساب میکنه..

فرض کنید یه محصول داریم و چندتا review براش ثبت شده، هر review شامل این فیلدهاست:

[
  ['rating' => 4, 'comment' => 'خوب بود', 'approved' => true],
  ['rating' => 5, 'comment' => 'عالی 👌', 'approved' => true],
  ['rating' => 3, 'comment' => 'می‌تونست بهتر باشه', 'approved' => false],
]

اگه با Collection کار می‌کنید:

$avgRating = $product->reviews
    ->where('approved', true)
    ->avg('rating');

و اگه با Query Builder:

$avgRating = $product->reviews()
    ->where('approved', true)
    ->avg('rating');

هم Collection و هم Query Builder، میانگین رو به‌سادگی محاسبه می‌کنن:

// خروجی هر دو:
4.5