Download the PHP package tpenaranda/model-log without Composer
On this page you can find all versions of the php package tpenaranda/model-log. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tpenaranda/model-log
More information about tpenaranda/model-log
Files in tpenaranda/model-log
Package model-log
Short Description A Laravel 5 package to automatically log attributes changes on any of your app models.
License GPL-3.0-or-later
Informations about the package model-log
Laravel ModelLog
A Laravel package to automatically log attributes changes on any of your app models.
About package
This package is intended for tracking changes of your Eloquent models inside your Laravel application. A new DB table will be created and everytime a model attribute is updated an entry will be automatically created on the DB log table.
Installation
Install package using Composer.
$ composer require tpenaranda/model-log
Run migrations to create ModelLog table.
$ php artisan migrate
[This step is not needed on Laravel >= 5.5] Add service provider and create ModelLog DB table.
Add service provider and alias in config/app.php
Run ModelLog command in order to create ModelLog DB table.
$ php artisan model-log:create-log-table
Usage
Add 'ObservedByModelLog' trait to your model and specify attributes you want to observe/track for changes.
Now after every update on that model, observed attributes will be logged automatically.
Use protected $log = 'all';
(notice the string, not array) to log any change.
Retrieve log entries:
Advanced usage
Retrieve log entries using query scopes:
Available scopes:
- whereModel(
<object>
): Get logs of an specific Eloquent Model (example: get log data of MyModel ID #4). - whereModelClass(
<string/object>
): Get logs for an specific model class (example: get entries where MyModel class is involved, regardless of any IDs). - whereAttribute(
<string>
): Get only logs where some specific attribute was changed. - whereFrom(
<string>
): Get only logs with an specific initial value. - whereTo(
<string>
): Get only logs with an specific end value. - ModifiedByUser(
<numeric/object>
): Get changes done by some specific user. Allowed parameters: null, numeric IDs or User object.
The following scopes only accept Carbon objects as parameters:
- loggedBefore(
<Carbon object>
): Retrieve only entries logged prior to specific date. - loggedAfter(
<Carbon object>
): Retrieve only entries logged after specific date. - withinDateRange(
<Carbon object>
,<Carbon object>
): Retrieve only entries logged after first parameter and prior to second parameter.
Create (or drop and create) ModelLog table manually:
$ php artisan model-log:create-log-table
Flush ModelLog table: