CawaKharkov / laravel-balance by CawaKharkov

Laravel package that provide user balance and transactions functionality for Laravel 5
996
12
2
Package Data
Maintainer Username: CawaKharkov
Maintainer Contact: cawa123@mail.ru (Aleksandr Zamiatin)
Package Create Date: 2016-04-24
Package Last Update: 2017-02-28
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:17:12
Package Statistics
Total Downloads: 996
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 12
Total Watchers: 2
Total Forks: 7
Total Open Issues: 0

Laravel package that provides user balance and transactions functionality

Now working only with Laravel > 5.3, for 5.2 will be created separet branch

User balance = sum of transactions

Installation

  • composer require cawakharkov/laravel-balance:dev-master
  • add \CawaKharkov\LaravelBalance\LaravelBalanceServiceProvider::class to your config/app.php
  • add \CawaKharkov\LaravelBalance\Providers\TransactionsProvider::class,(view composer) to your config/app.php
  • publish config php artisan vendor:publish
  • run migrations php artisan migrate --path=database/migrations/laravel-balance

Configuration

  • 'prefix' - route prefix for base transactions controller
  • 'user' - User class
  • 'layout' - layout that will be extended in views
  • 'list_view' - list transaction view
  • 'compose' - array of views where need to inject user transactions

Usage

  • Add \CawaKharkov\LaravelBalance\Interfaces\UserHasBalance interface to your user model
  • Add \CawaKharkov\LaravelBalance\Models\UserBalance trait to your user model or implement transactions() and balance() methods by your own
  • Inject \CawaKharkov\LaravelBalance\Interfaces\TransactionRepositoryInterface in controller to have access to transaction repository.

    protected $transactions;
  
      /**
       * TransactionController constructor.
       * @param TransactionRepositoryInterface $repo
       */
      public function __construct(TransactionRepositoryInterface $repo)
      {
          $this->transactions = $repo;
      }
  • If you want to want to echo user transactions, just add view to composer section of config, and view composer will inject $transaction variable