RequirementTemplate.php
1 <?php 2 3 namespace App\Models; 4 5 use Illuminate\Database\Eloquent\Factories\HasFactory; 6 use Illuminate\Database\Eloquent\Model; 7 use Illuminate\Database\Eloquent\Relations\MorphOne; 8 use Illuminate\Database\Eloquent\SoftDeletes; 9 use Spatie\Activitylog\LogOptions; 10 use Spatie\Activitylog\Traits\LogsActivity; 11 12 class RequirementTemplate extends Model 13 { 14 use HasFactory, LogsActivity, SoftDeletes; 15 16 protected $guarded = []; 17 18 public function validationType() 19 { 20 return $this->belongsTo(ValidationType::class, 'validation_type_id'); 21 } 22 23 public function workbook() 24 { 25 return $this->belongsTo(Workbook::class, 'workbook_id'); 26 } 27 28 public function expertTip() : MorphOne 29 { 30 return $this->morphOne(ExpertTip::class, 'tipable'); 31 } 32 33 public function getActivitylogOptions(): LogOptions 34 { 35 return LogOptions::defaults() 36 ->logOnly(['title', 'description', 'validation_type_id', 'validationType.name', 'workbook_id', 'workbook.name']) 37 ->logOnlyDirty() 38 ->dontSubmitEmptyLogs(); 39 } 40 }