NonConformity.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 9 class NonConformity extends Model 10 { 11 use SoftDeletes, HasFactory; 12 13 protected $fillable = [ 14 'code', 15 'description', 16 'non_conformity_type_id', 17 'status', 18 'closure_date', 19 'expected_closure_date', 20 'results', 21 'dossier_id', 22 ]; 23 24 protected $casts = [ 25 'closure_date' => 'datetime', 26 'expected_closure_date' => 'datetime', 27 ]; 28 29 public function validation() 30 { 31 return $this->belongsTo(Validation::class); 32 } 33 public function type() 34 { 35 return $this->belongsTo(NonConformityType::class, 'non_conformity_type_id'); 36 } 37 public function dossier() 38 { 39 return $this->hasOneThrough(Dossier::class, Validation::class, 'id', 'id', 'validation_id', 'original_dossier_id'); 40 } 41 public function parsedDescription() 42 { 43 return strip_tags(htmlspecialchars_decode($this->description)); 44 } 45 }