Laravel Voteable

 

Install

Via Composer

$ composer require draperstudio/laravel-voteable

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

'providers' => [
    DraperStudio\Voteable\ServiceProvider::class
];

At last you need to publish and run the migration.

php artisan vendor:publish --provider="DraperStudio\Voteable\ServiceProvider" && php artisan migrate

Usage
Setup a Model

<?php

/*
 * This file is part of Laravel Voteable.
 *
 * (c) DraperStudio <hello@draperstudio.tech>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace App;

use DraperStudio\Voteable\Contracts\Voteable;
use DraperStudio\Voteable\Traits\Voteable as VoteableTrait;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements Voteable
{
    use VoteableTrait;
}

Sum of all votes

Vote::sum($user);

Count all votes

Vote::count($user);

Count all up-votes

Vote::countUps($user);

Count all down-votes

Vote::countDowns($user);

Count all votes between two dates

Vote::countByDate($user, '2015-06-30', '2015-06-31');

Up-vote

Vote::up($user);

Down-vote

Vote::down($user);

Change log

Please see CHANGELOG for more information what has changed recently.
Testing

$ composer test

Download