LaravelPackages.net
Acme Inc.
Toggle sidebar
trexology/reviewrateable

Rating syetem for Laravel 5

14.393
35
2.0.2
About trexology/reviewrateable

trexology/reviewrateable is a Laravel package for rating syetem for laravel 5. It currently has 35 GitHub stars and 14.393 downloads on Packagist (latest version 2.0.2). Install it with composer require trexology/reviewrateable. Discover more Laravel packages by trexology or browse all Laravel packages to compare alternatives.

Last updated

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel ReviewRateable

ReviewRateable system for laravel 5.*

Installation

First, pull in the package through Composer.

composer require trexology/reviewrateable

And then include the service provider within app/config/app.php. (Skip this step if you are on Laravel 5.5 or above)

'providers' => [
    Trexology\ReviewRateable\ReviewRateableServiceProvider::class
];

At last you need to publish and run the migration.

php artisan vendor:publish --provider="Trexology\ReviewRateable\ReviewRateableServiceProvider" && php artisan migrate

Setup a Model

<?php

namespace App;

use Trexology\ReviewRateable\Contracts\ReviewRateable;
use Trexology\ReviewRateable\Traits\ReviewRateable as ReviewRateableTrait;
use Illuminate\Database\Eloquent\Model;

class Post extends Model implements ReviewRateable
{
    use ReviewRateableTrait;
}

Create a rating

$user = User::first();
$post = Post::first();

$rating = $post->rating([
    'title' => 'Some title',
    'body' => 'Some body', //optional
    'anonymous' => 1, //optional
    'rating' => 5,
], $user);

dd($rating);

Update a rating

$rating = $post->updateRating(1, [
    'title' => 'new title',
    'body' => 'new body', //optional
    'anonymous' => 1, //optional
    'rating' => 3,
]);

Delete a rating:

$post->deleteRating(1);

Fetch the average rating:

$post->averageRating()

or

$post->averageRating(2) //round to 2 decimal place

Count total rating:

$post->countRating()

Count rating meta (Count and Avg):

$post->ratingMeta()

or

$post->ratingMeta(2) //round to 2 decimal place

Fetch the rating percentage.

This is also how you enforce a maximum rating value.

$post->ratingPercent()

$post->ratingPercent(10)); // Ten star rating system
// Note: The value passed in is treated as the maximum allowed value.
// This defaults to 5 so it can be called without passing a value as well.

Star History Chart