/ app / Models / Expert.php
Expert.php
 1  <?php
 2  
 3  namespace App\Models;
 4  
 5  use Illuminate\Database\Eloquent\Factories\HasFactory;
 6  use Illuminate\Database\Eloquent\Model;
 7  use Spatie\Activitylog\LogOptions;
 8  use Spatie\Activitylog\Traits\LogsActivity;
 9  
10  class Expert extends Model
11  {
12      use HasFactory, LogsActivity;
13  
14      protected $fillable = ['name', 'organization', 'ocupation', 'email'];
15  
16      public function dossiersAsSecondaryCertifier()
17      {
18          return $this->belongsToMany(Dossier::class, 'expert_dossier', 'expert_id', 'dossier_id');
19      }
20  
21      public function isInDossier(Dossier $dossier)
22      {
23          $experts = $dossier->experts->toArray();
24  
25          return in_array($this->id, array_column($experts, 'id'));
26      }
27  
28      public function dossier()
29      {
30          return $this->belongsToMany(Dossier::class, 'expert_dossier', 'expert_id', 'dossier_id');
31      }
32  
33      public function getActivitylogOptions(): LogOptions
34      {
35          return LogOptions::defaults()
36              ->logOnly(['name', 'organization', 'ocupation', 'email'])
37              ->logOnlyDirty()
38              ->dontSubmitEmptyLogs();
39      }
40  }