Laravel Voteable
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