123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
-
- namespace App\Concerns;
-
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Support\Facades\Auth;
- use Wallo\FilamentCompanies\FilamentCompanies;
-
- trait Blamable
- {
- public static function bootBlamable(): void
- {
- static::creating(static function ($model) {
- $auth = Auth::id();
- $model->created_by = $auth;
- $model->updated_by = $auth;
- });
-
- static::updating(static function ($model) {
- $auth = Auth::id();
- $model->updated_by = $auth;
- });
- }
-
- public function createdBy(): BelongsTo
- {
- return $this->belongsTo($this->userModel(), 'created_by');
- }
-
- public function updatedBy(): BelongsTo
- {
- return $this->belongsTo($this->userModel(), 'updated_by');
- }
-
- protected function userModel(): string
- {
- return FilamentCompanies::userModel();
- }
- }
|