LaravelPackages.net
Acme Inc.
Toggle sidebar
trexology/pointable

Point system for Laravel 5

2.968
43
v1.0.2
About trexology/pointable

trexology/pointable is a Laravel package for point system for laravel 5. It currently has 43 GitHub stars and 2.968 downloads on Packagist (latest version v1.0.2). Install it with composer require trexology/pointable. Discover more Laravel packages by trexology or browse all Laravel packages to compare alternatives.

Last updated

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel Pointable

Point Transaction system for laravel 5

Installation

First, pull in the package through Composer.

composer require trexology/pointable

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

'providers' => [
    Trexology\Pointable\PointableServiceProvider::class
];

At last you need to publish and run the migration.

php artisan vendor:publish --provider="Trexology\Pointable\PointableServiceProvider" && php artisan migrate

Setup a Model

<?php

namespace App;

use Trexology\Pointable\Contracts\Pointable;
use Trexology\Pointable\Traits\Pointable as PointableTrait;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements Pointable
{
    use PointableTrait;
}

Add Points

$user = User::first();
$amount = 10; // (Double) Can be a negative value
$message = "The reason for this transaction";

//Optional (if you modify the point_transaction table)
$data = [
    'ref_id' => 'someReferId',
];

$transaction = $user->addPoints($amount,$message,$data);

dd($transaction);

Get Current Points

$user = User::first();
$points = $user->currentPoints();

dd($points);

Get Transactions

$user = User::first();
$user->transactions;

//OR
//$user['transactions'] = $user->transactions(2)->get(); //Get last 2 transactions

dd($user);

Count Transactions

$user = User::first();
$user['transactions_total'] = $user->countTransactions();

dd($user);

Star History Chart