mazyvan / userstamps
A fork from WildSide. Eloquent trait to automatically maintain created_by and updated_by (and deleted_by when using SoftDeletes) on your models
Requires
- php: >=5.5.9
- illuminate/support: 5.0.*|5.1.*|5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*
README
MAYBE UNSTABLE. READ BELOW
Warning: This is a fork from WildSideUK/Laravel-Userstamps that doesn't fire the laravel "update" events on deletions. It's only purpouse is for the Virtuamx team to work with this lib while the WildSideUK team check for the issue 23. If they approve the pull request. This fork will be deprecated.
Stability Important Note: I have experienced issues with this plugin using Passport. This issue is reported here -> WildsideUK#17
So I tried the solution of setting manually the 'web'
guard. This plugin also have that workaround.
I think you should not have problems unless you use different models for your 'web' and 'api' logins. That's my thoughts.
Provides an Eloquent trait to automatically maintain created_by and updated_by (and deleted_by when using SoftDeletes) on your models.
Requirements
- This package requires PHP 5.6+
- It works with Laravel 5.x (and may work with earlier versions too).
Installation
Require this package with composer
composer require mazyvan/userstamps
Migrate your Model's table to include a created_by
and updated_by
(and deleted_by
if using SoftDeletes
).
$table -> unsignedInteger('created_by') -> nullable() -> default(null) -> after('created_at'); $table -> unsignedInteger('updated_by') -> nullable() -> default(null) -> after('updated_at');
Load the trait in your Model.
use Mazyvan\Userstamps\Userstamps; class Example extends Model { use Userstamps; }
The following methods become available on your models to help retrieve the users creating, updating and deleting (if using SoftDeletes).
$model -> creator; // the user who created the model $model -> editor; // the user who last updated the model $model -> destroyer; // the user who deleted the model
If you want to manually set the created_by
or updated_by
properties on your model you can stop Userstamps being automatically maintained using the stopUserstamping
method.
If you want to define the created_by
, updated_by
, or deleted_by
column names, add the following class constants to your model(s).
const CREATED_BY = 'created_by'; const UPDATED_BY = 'updated_by'; const DELETED_BY = 'deleted_by';
License
This open-source software is licensed under the MIT license.