---
title: "Hodnotenia a agregáty — Reviews for Laravel | Roundly"
description: "Priemerné hodnotenie, počty, rozdelenie hviezdičiek a DTO RatingSummary — priebežné agregáty len zo schválených recenzií."
url: https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel/hodnotenia-a-agregaty
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Reviews for Laravel](https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel.md)

# Hodnotenia a agregáty

HasReviews dá každému predmetu vzťahy a priebežné agregáty. Agregáty počítajú len schválené recenzie najvyššej úrovne — čakajúce, zamietnuté recenzie ani odpovede vlastníka skóre neovplyvnia:

```php
$restaurant->reviews;                 // MorphMany (all rows, responses included)
$restaurant->topLevelReviews;         // MorphMany (owner responses excluded)
$restaurant->approvedReviews;         // approved, top-level only
$restaurant->averageRating();         // ?float, null when none
$restaurant->reviewsCount();          // int (all top-level, any status)
$restaurant->approvedReviewsCount();  // int (approved)
$restaurant->ratingDistribution();    // [5 => 120, 4 => 80, ...]
$restaurant->ratingSummary();         // RatingSummary DTO
```

| Na modeli (HasReviews) | Na fasáde | Počíta |
| --- | --- | --- |
| `averageRating()` | `for($x)->average()` | Priemer schválených recenzií najvyššej úrovne s hodnotením; null, ak žiadne nie sú. |
| `approvedReviewsCount()` | `for($x)->count()` | Schválené recenzie najvyššej úrovne (vrátane recenzií len s textom). |
| `ratingDistribution()` | `for($x)->distribution()` | Schválené recenzie s hodnotením podľa hodnoty, od najvyššej. |
| `ratingSummary()` | `for($x)->summary()` | Všetko uvedené plus počty fotografií ako RatingSummary. |
| `reviewsCount()` | — | Všetky recenzie najvyššej úrovne bez ohľadu na stav. |
| — | `for($x)->photoCount()` | Fotografie v schválených recenziách najvyššej úrovne. |
| — | `for($x)->reviewsWithPhotos()` | Schválené recenzie najvyššej úrovne s aspoň jednou fotografiou. |

## Súhrn hodnotení

ratingSummary() vráti DTO RatingSummary — všetko, čo stránka produktu potrebuje, v jednom objekte, s toArray() pre JSON odpovede:

```php
$summary = $restaurant->ratingSummary();

$summary->average;            // 4.6 (null when there are no rated reviews)
$summary->count;              // 320
$summary->distribution;       // [5 => 210, 4 => 80, 3 => 20, 2 => 6, 1 => 4]
$summary->photoCount;         // 57
$summary->reviewsWithPhotos;  // 41

return response()->json($summary->toArray());
// ['average' => 4.6, 'count' => 320, 'distribution' => [...],
//  'photo_count' => 57, 'reviews_with_photos' => 41]
```

- average ignoruje recenzie len s textom; count ich zahŕňa.
- distribution má kľúče podľa hodnoty hodnotenia, od najvyššej, a obsahuje len hodnoty s aspoň jednou recenziou.
- photoCount a reviewsWithPhotos sú 0, keď sú fotografie vypnuté.

## Cez fasádu

Rovnaké agregáty sú dostupné pre akýkoľvek model cez Reviews::for(), s traitom aj bez neho — metódy traitu ho volajú tiež:

```php
use RoundlyConsulting\Reviews\Facades\Reviews;

$reviews = Reviews::for($restaurant);

$reviews->average();                  // ?float, null when none
$reviews->count();                    // int (approved)
$reviews->distribution();             // [5 => 120, 4 => 80, ...]
$reviews->photoCount();               // total photos on approved reviews
$reviews->reviewsWithPhotos();        // approved reviews that carry a photo
$reviews->summary();                  // RatingSummary DTO — all of the above
```

Každé volanie spustí dopyt. Pri vyťažených výpisoch uložte počet a priemer priamo do tabuľky predmetu — pozrite Cachované agregáty.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel.md)
