1. Go to this page and download the library: Download imagina/laravel-rateable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App;
use willvincent\Rateable\Rateable;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use Rateable;
}
$post = Post::first();
// Add a rating of 5, from the currently authenticated user
$post->rate(5);
dd(Post::first()->ratings);
$post = Post::first();
// Add a rating of 3, or change the user's existing rating _to_ 3.
$post->rateOnce(3);
dd(Post::first()->ratings);
$post = Post::first();
dd($post->averageRating);
// $post->averageRating() also works for this.
$post = Post::first();
dd($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.
// $post->ratingPercent(5) -- Five star rating system totally equivilent to:
// $post->ratingPercent()
$post = Post::first();
// These values depend on the user being logged in,
// they use the Auth facade to fetch the current user's id.
dd($post->userAverageRating);
dd($post->userSumRating);
dd($post->timesRated());
// Or if you specifically want the number of unique users that have rated the model:
dd($post->usersRated());