ldc-legaulois/app/Traits/Models/ActivityLog.php

37 lines
878 B
PHP
Raw Normal View History

2024-01-10 14:49:46 +01:00
<?php
namespace App\Traits\Models;
use App\Observers\ModelObserver;
use App\Models\ActivityLog as ActivityLogModel;
2024-01-10 14:49:46 +01:00
/**
* If there is a static function in a trait (named boot[TraitName]),
* it will be executed as the boot() function would on an Eloquent model.
* Futhermore, event in the Model observer doesn't erase actual events in the model,
* but adds them.
*/
trait ActivityLog
{
/**
*
* @return void
*/
public static function bootActivityLog(): void
{
static::observe(ModelObserver::class);
}
2024-03-28 13:04:37 +01:00
// * RELATIONS
/**
* Activities logs HasMany relationship.
2024-03-28 13:04:37 +01:00
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function activityLogs(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(ActivityLogModel::class, 'model_id')->with('user');
2024-03-28 13:04:37 +01:00
}
2024-01-10 14:49:46 +01:00
}