Skip to content

douglasroos/laravel-reviewRateable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 turiguia/reviewrateable

And then include the service provider within app/config/app.php.

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

At last you need to publish and run the migration.

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

Setup a Model

<?php

namespace App;

use Turiguia\ReviewRateable\Contracts\ReviewRateable;
use Turiguia\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',
    'rating' => 5,
], $user);

dd($rating);

Update a rating

$rating = $post->updateRating(1, [
    'title' => 'new title',
    'body' => 'new body',
    '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()

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%