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