/ app / Models / RequirementTemplate.php
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  }