Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Concerns;
  3. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  4. use Illuminate\Support\Facades\Auth;
  5. use Wallo\FilamentCompanies\FilamentCompanies;
  6. trait Blamable
  7. {
  8. public static function bootBlamable(): void
  9. {
  10. static::creating(static function ($model) {
  11. if (Auth::check() && $authId = Auth::id()) {
  12. $model->created_by = $model->created_by ?? $authId;
  13. $model->updated_by = $model->updated_by ?? $authId;
  14. }
  15. });
  16. static::updating(static function ($model) {
  17. if (Auth::check() && $authId = Auth::id()) {
  18. $model->updated_by = $authId;
  19. }
  20. });
  21. }
  22. public function createdBy(): BelongsTo
  23. {
  24. return $this->belongsTo($this->userModel(), 'created_by');
  25. }
  26. public function updatedBy(): BelongsTo
  27. {
  28. return $this->belongsTo($this->userModel(), 'updated_by');
  29. }
  30. protected function userModel(): string
  31. {
  32. return FilamentCompanies::userModel();
  33. }
  34. }