Taxonomy.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\SoftDeletes; 8 use Spatie\Activitylog\LogOptions; 9 use Spatie\Activitylog\Traits\LogsActivity; 10 11 class Taxonomy extends Model 12 { 13 use HasFactory, LogsActivity, SoftDeletes; 14 15 protected $guarded = []; 16 protected $with = ['dossierType', 'dossierType.father', 'dossierType.father.grandparent']; 17 18 public function taxonomyStages() 19 { 20 return $this->hasMany(TaxonomyStage::class); 21 } 22 23 public function dossierType() 24 { 25 return $this->belongsTo(DossierType::class); 26 } 27 28 public function taxonomyTasks() 29 { 30 return $this->hasManyThrough(TaxonomyTask::class, TaxonomyStage::class); 31 } 32 33 public function getActivitylogOptions(): LogOptions 34 { 35 return LogOptions::defaults() 36 ->logOnly(['name', 'dossier_type_id', 'dossierType.name']) 37 ->logOnlyDirty() 38 ->dontSubmitEmptyLogs(); 39 } 40 }