---
title: "Fasáda Reviews — Reviews for Laravel | Roundly"
description: "Každá operácia s recenziami na jednej fasáde — handly for($subject), query() nad všetkými recenziami a ploché operácie pre moderovanie, hlasy a overenie."
url: https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel/fasada
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)

# Fasáda Reviews

Všetko, čo balík robí, je na jedno volanie na fasáde Reviews — RoundlyConsulting\\Reviews\\Facades\\Reviews, zaregistrovanej aj ako globálny alias Reviews:

```php
use RoundlyConsulting\Reviews\DataTransferObjects\CreateReviewData;
use RoundlyConsulting\Reviews\DataTransferObjects\UpdateReviewData;
use RoundlyConsulting\Reviews\Facades\Reviews;

// One subject: author a review, read its aggregates, list its reviews
Reviews::for($product)->by($user)->rating(5)->content('Great')->create();
Reviews::for($product)->summary();            // RatingSummary DTO
Reviews::for($product)->average();            // ?float
Reviews::for($product)->count();              // int (approved)
Reviews::for($product)->distribution();       // [5 => 120, 4 => 80, ...]
Reviews::for($product)->photoCount();         // photos on approved reviews
Reviews::for($product)->reviewsWithPhotos();  // approved reviews that carry a photo
Reviews::for($product)->query()->approved()->mostHelpful()->paginate();

// Every review (swap-aware) — e.g. the moderation queue
Reviews::query()->pending()->latestFirst()->paginate();

// Act on one review
Reviews::create(new CreateReviewData(author: $user, reviewable: $product, rating: 5));
Reviews::approve($review);
Reviews::reject($review, 'Spam');
Reviews::update($review, new UpdateReviewData(content: 'Edited'));
Reviews::delete($review);
Reviews::respond($review, $owner, 'Thanks!');
Reviews::vote($review, $user, helpful: true);
Reviews::removeVote($review, $user);
Reviews::verify($review);
Reviews::unverify($review);

// Tests
$fake = Reviews::fake();
```

## Metódy

| Metóda | Vráti | Urobí |
| --- | --- | --- |
| `for(Model $reviewable)` | `ReviewableScope` | Obmedzí nasledujúce volania na jeden predmet. |
| `for(…)->by(Model $author)` | `PendingReview` | Začne recenziu predmetu; ukončíte ju cez ->create(). |
| `for(…)->summary() / average() / count() / distribution() / photoCount() / reviewsWithPhotos()` | `aggregates` | Len schválené recenzie predmetu najvyššej úrovne. |
| `for(…)->query()` | `Builder<Review>` | Recenzie predmetu najvyššej úrovne v každom stave (odpovede cez $review->responses). |
| `query()` | `Builder<Review>` | Každá recenzia na nastavenom modeli — každý predmet, stav aj odpoveď. |
| `create(CreateReviewData $data)` | `Review` | Vytvorí recenziu z DTO — posledný krok buildera. |
| `approve() / reject() / update() / delete()` | `Review / void` | Životný cyklus moderovania. |
| `respond(Review, Model $author, string $content, ?string $title)` | `Review` | Vytvorí odpoveď vlastníka. |
| `vote(Review, Model $voter, bool $helpful) / removeVote(Review, Model $voter)` | `ReviewVote / bool` | Hlasy užitočnosti (removeVote() vráti false, ak hlas neexistoval). |
| `verify(Review) / unverify(Review)` | `Review` | Nastaví alebo zruší príznak overenia; spustí ReviewVerified. |
| `fake()` | `ReviewsFake` | Nasadí zaznamenávajúci fake — pozrite Testovanie. |

## Jeden predmet: Reviews::for()

for($subject) vráti ReviewableScope s predmetom pevne daným pri vytvorení — nič, čo vráti, sa nedostane k riadkom iného predmetu. Jeho agregáty počítajú len schválené recenzie najvyššej úrovne; jeho query() vráti recenzie predmetu najvyššej úrovne v každom stave. Reviews::query() je širší dopyt nad všetkými recenziami nastaveného modelu, ktorý rešpektuje jeho výmenu.

## Pomocné metódy modelov idú cez ten istý manažér

$product->addReview(), agregáty z HasReviews, $review->respond(), $review->markVerified() / markUnverified() aj pomocné metódy CanVoteOnReviews delegujú na ten istý manažér. Prepísanie v kontajneri preto platí všade a Reviews::fake() vidí každé volanie.

## 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)
