Downloads
Stars
Version
This is a drop in replacement for HasTimestamps
trait in Laravel. It will add the additional fields. created_by_id
and updated_by_id
of the user that performed the operation.
It also supports polymorphic relationship which will add created_by_type
and updated_by_type
fields.
It also has support for SoftDeletes
replacing Laravel's built in SoftDeletes
trait to include deleted_by_id
for the user who performed the soft delete.
You can install the package via composer:
composer require robjbrain/laravel-user-timestamps
Add the CacheMutationsTrait
trait to a model you like to cache the mutations of.
use Robjbrain\LaravelUserTimestamps\HasUserTimestamps;
use Robjbrain\LaravelUserTimestamps\UserSoftDeletes;
class YourEloquentModel extends Model
{
use HasUserTimestamps;
use UserSoftDeletes;
// This will behave the same UserTimestamps
public $timestamps = true;
// This will utilise the updated_by_id and created_by_id fields
public $userTimestamps = true;
// This will utilise the updated_by_type and created_by_type fields
public $polymorphicTimestamps = true;
// This will utilise the deleted_by_id field
public $userSoftDeletes = true;
// This will utilise the deleted_by_type field
public $polymorphicSoftDeletes = true;
}
If you are using $polymorphicTimestamps
you don't need to set $userTimestamps
or $timestamps
to true.
If you are using $userTimestamps
you do not need to set $timestamps
to true.