NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Reviews for Laravel

Dopytovanie recenzií

Recenzie jedného predmetu alebo všetky recenzie vypíšete cez fasádu — oba dopyty rešpektujú vymenený reviews.model:

use RoundlyConsulting\Reviews\Facades\Reviews;

Reviews::for($restaurant)->query()->approved()->mostHelpful()->paginate();  // one subject, top-level only
Reviews::query()->pending()->latestFirst()->paginate();                     // every subject

Scopes

Model Review obsahuje výstižné scopes a dajú sa reťaziť na oboch dopytoch z fasády. Sú v traite HasReviewScopes, takže ich zachová aj vlastný model recenzie:

use RoundlyConsulting\Reviews\Models\Review;

Review::query()->approved()->latestFirst()->get();
Review::query()->latestFirst()->get();            // newest approval first, never-approved last
Review::query()->pending()->get();
Review::query()->rejected()->get();
Review::query()->rated()->get();                  // has a rating
Review::query()->withRatingOf(5)->get();
Review::query()->minRating(4)->get();
Review::query()->authoredBy($user)->get();
Review::query()->for($restaurant)->get();
Review::query()->verified()->get();
Review::query()->unverified()->get();
Review::query()->topLevel()->get();               // excludes owner responses
Review::query()->responses()->get();              // only owner responses
Review::query()->mostHelpful()->get();            // by net helpful score
ScopeÚčinok
approved() / pending() / rejected()Filtruje podľa stavu moderovania.
rated()Len recenzie s hodnotením.
withRatingOf(int $rating)Presné hodnotenie.
minRating(int $rating)Hodnotenie väčšie alebo rovné zadanej hodnote.
authoredBy(Model $author)Napísané jedným autorom.
for(Model $reviewable)O jednom predmete.
verified() / unverified()Filtruje podľa príznaku overenia.
topLevel() / responses()Vylúči odpovede vlastníka alebo vráti len ne.
latestFirst()Najnovšie schválenie prvé — nikdy neschválené recenzie na každej databáze na konci — potom podľa created_at.
mostHelpful()Zoradí podľa helpful_count − unhelpful_count, potom od najnovších.

Skladanie scopes

Scopes sa dajú reťaziť na vzťahoch z HasReviews aj na Review::query():

// A product page: verified 4–5 star reviews, most helpful first, with replies.
$reviews = $restaurant->approvedReviews()
    ->verified()
    ->minRating(4)
    ->mostHelpful()
    ->with('responses')
    ->paginate(10);

Vyhľadávanie podľa autora

CanReview odpovie na otázku „hodnotil už tento používateľ toto?“ bez písania dopytu:

$user->reviewsAuthored;               // MorphMany (reviews and owner responses)
$user->hasReviewed($restaurant);      // bool
$user->reviewFor($restaurant);        // ?Review

Obe metódy berú do úvahy každú nezmazanú recenziu, ktorú model k danému predmetu napísal, bez ohľadu na stav — no len recenzie: odpoveď vlastníka, ktorú používateľ k predmetu napísal, sa za hodnotenie nepovažuje a one_per_author nespustí. Samotná relácia reviewsAuthored zahŕňa recenzie aj odpovede vlastníka.

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

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

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.