PHP code example of sojeda / rating

1. Go to this page and download the library: Download sojeda/rating 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/ */

    

sojeda / rating example snippets


Laraveles\Rating\RatingServiceProvider::class,

use Laraveles\Rating\Traits\CanRate;
use Laraveles\Rating\Contracts\Qualifier;

class User extends Model implements Qualifier {
    use CanRate;
    ...
}

use Laraveles\Rating\Traits\CanBeRated;
use Laraveles\Rating\Contracts\Rateable;

class User extends Model implements Rateable {
    use CanBeRated;
    ...
}

use Laraveles\Rating\Traits\Rate;
use Laraveles\Rating\Contracts\Rating;

class User extends Model implements Rating {
    use Rate;
    ...
}

$page = Page::find(1);

$user->rate($page, 10);
$user->hasRated($page); // true
$page->averageRating(User::class); // 10.0, as float

$user->updateRatingFor($page, 9);
$page->averageRating(User::class); // 9.00, as float

$page = Page::find(1);

$user1->rate($page, 10);
$user2->rate($page, 6);

$page->averageRating(); // 0.00
$page->averageRating(User::class); // 8.00, as float

$user = User::find(1);

$user1->rate($user, 10);
$user2->rate($user, 6);

$user->averageRating(); // 8.00, as float
$user->averageRating(User::class); // 8.00, it is equivalent

$page->qualifiers()->get(); // Pages that have rated this page
$page->qualifiers(User::class)->get(); // Users that have rated this page

$user->ratings()->get(); // Users that this user has rated
$user->ratings(Page::class)->get(); // Pages that this user has rated



use Laraveles\Rating\Events\ModelRated;
use Laraveles\Rating\Events\ModelUnrated;

/**
 * The event listener mappings for the application.
 *
 * @var array
 */
protected $listen = [
    ModelRated::class => [
        \App\Listeners\MyListenerRating::class,
    ],
    ModelUnrated::class => [
        \App\Listeners\MyListenerUnrating::class,
    ],
];
bash
$ php artisan vendor:publish --provider='Laraveles\Rating\RatingServiceProvider'
bash
$ php artisan migrate