A short review of a package which is hugely popular but I've found it only recently. Quite a useful case - if you want to log all the changes to your data - who changed what and when, it's pretty simple with Revisionable.
The usage is pretty simple:
    - Install the package
 
    - Run its migrations - basically it's one table called "revisions"
 
    - Add some code into a model you want to "follow"
 
Here's my example of Model:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
    use \Venturecraft\Revisionable\RevisionableTrait;
    protected $fillable = ['title', 'description'];
    public static function boot()
    {
        parent::boot();
    }
}
And basically, that's it. Whenever someone updates a database entry with Eloquent, like this:
    $book = \App\Book::find(1);
    $book->update(['title' => 'bbb']);
You will get a new entry in database table revisions.
And then you can create a separate view to show that log more conveniently.
Of course, there are a lot of additional settings and functionality, like for example:
  - History limit = X. Stop tracking revisions after 500 changes have been made
 
  - $revisionCleanup = true; //Remove old revisions (works only when used with $historyLimit)
 
  - Storing soft deletes
 
  - Storing creations or not
 
In general, a really good package by Chris Duell. And I recommend you read full documentation on Github page here - a lot of interesting small things there.
Update: there's another similar package by Marcel Pociot - called Versionable - check it out too.
                                                
         
No comments or questions yet...