MohmmedAshraf / laravel-pointable

Point system for Laravel 5

Home Page:https://twitter.com/M7ammed_Ashraf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel Pointable

Point Transaction system for Laravel Framework

Original Package from Trexology

Installation

First, pull in the package through Composer.

composer require outhebox/laravel-pointablee

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

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

At last you need to publish and run the migration.

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

Setup a Model

<?php

namespace App;

use Outhebox\Pointable\Contracts\Pointable;
use Outhebox\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);

About

Point system for Laravel 5

https://twitter.com/M7ammed_Ashraf

License:MIT License


Languages

Language:PHP 100.0%