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

Príprava modelov

Predmet recenzií aj autora označíte jedným traitom:

use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Reviews\Concerns\CanReview;
use RoundlyConsulting\Reviews\Concerns\CanVoteOnReviews;
use RoundlyConsulting\Reviews\Concerns\HasReviews;

class Restaurant extends Model
{
    use HasReviews;          // the reviewable subject
}

class User extends Model
{
    use CanReview;           // writes reviews
    use CanVoteOnReviews;    // votes reviews helpful / unhelpful
}
  • HasReviews — pre predmety: vzťahy reviews, topLevelReviews a approvedReviews, priebežné agregáty (averageRating(), ratingSummary() a ďalšie) a addReview().
  • CanReview — pre autorov: vzťah reviewsAuthored, hasReviewed() a reviewFor().
  • CanVoteOnReviews — pre hlasujúcich: voteOn(), removeVoteFrom(), hasVotedOn() a votedHelpfulOn().
  • MaintainsReviewAggregates — voliteľne popri HasReviews: udržiava cachované stĺpce reviews_count / reviews_avg.

Ktokoľvek hodnotí čokoľvek

Traity sú len pohodlie — fasáda prijme ako autora aj predmet akýkoľvek Eloquent model. Jeden model môže mať obe roly, takže obojstranné hodnotenie je jednoduché:

class Guest extends Model
{
    use CanReview;
    use HasReviews;
}

class Host extends Model
{
    use CanReview;
    use HasReviews;
}

// After a stay, both sides review each other with the same API.
Reviews::for($host)->by($guest)->rating(5)->content('Spotless flat, great tips')->create();
Reviews::for($guest)->by($host)->rating(5)->content('Ideal guest, left it tidy')->create();

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.