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 }