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 kryptomienOdoslaní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.