master_template/app/Traits/CreatedUpdatedBy.php

33 lines
1015 B
PHP
Raw Permalink Normal View History

2024-06-10 12:21:58 +00:00
<?php
namespace App\Traits;
trait CreatedUpdatedBy
{
public static function bootCreatedUpdatedBy()
{
// updating created_by and updated_by when model is created
static::creating(function ($model) {
if (!$model->isDirty('createdBy')) {
$model->createdBy = auth()->user() ? auth()->user()->id : null;
}
if (!$model->isDirty('updatedBy')) {
$model->updatedBy = auth()->user() ? auth()->user()->id : null;
}
if ($model->isDirty('createdOn') && !$model->isDirty('createdOn')) {
$model->createdOn = now();
}
if (!$model->isDirty('status')) {
$model->status = 1;
}
});
// updating updated_by when model is updated
static::updating(function ($model) {
if (!$model->isDirty('updatedBy')) {
$model->updatedBy = auth()->user() ? auth()->user()->id : 1;
}
});
}
}