UniSharp / laravel-audit-trail by g0110280

Keep a change history for your models using laravel version 5.1.*
1,274
4
8
Package Data
Maintainer Username: g0110280
Package Create Date: 2015-11-02
Package Last Update: 2018-03-26
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:21:56
Package Statistics
Total Downloads: 1,274
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 4
Total Watchers: 8
Total Forks: 1
Total Open Issues: 0

Laravel Audit Trail

What is this package for?

  • This package is for laravel 5.0/5.1, which helps you create your auditing logs into your database.

Setup

  1. In /config/app.php, add the following to providers:

    Unisharp\AuditTrail\AuditServiceProvider::class,
    

    and the following to aliases:

    'Audit' => Unisharp\AuditTrail\Facades\Audit::class,
    
  2. Run php artisan vendor:publish.

  3. Run php artisan migrate.

Usage

All your logs will be recorded in 'audit_trails' table.

  • You need to add a trait to the model you're going to audit.

    class User extends Eloquent
    {
      use \Unisharp\AuditTrail\Auditable;
    
      protected $table = 'users';
    
      protected $hidden = ['password'];
    
      protected $fillable = ['username', 'email', 'password'];
    }
    
  • In any place you want to audit your user logs

    $User->log($action, $comment = null, $subject = null, $subject_id = null)
    
    Audit::log($action, $comment = null)
    
    $User->log('log in', 'the action is approved')
    
    Audit::log('log in', 'the action is approved')
    
    • $User is an Eloquent Object here.
    • The second, third parameters are optional.
    • You could put your modified column and column id to subject and subject_id parameters.
  • Other usages

    • You can get your model logs by:

      $User->getLogs();
      
    • Get all the logs by single user by using:

      Audit::getByUserId($user_id)
      
    • As time grows, logs would be outdated. You may clean them by:

      $User->cleanLogs()
      

License

This package is licensed under MIT license.