ReportStatusEnum::class, 'submitted_at' => 'datetime', ]; public function document() { return $this->belongsTo(Document::class , 'document_id'); } public function doctor() { return $this->belongsTo(User::class, 'doctor_id')->where('level', UserEnum::Doctor->value); } public function media() { return $this->morphToMany( \App\Models\Medium::class, 'mediable', 'media_assignments', 'mediable_id', 'media_id' )->withPivot('collection'); } public function medium() { return $this->belongsTo(Medium::class); } public function attachments() { return $this->media()->wherePivot('collection', MediaCollectionEnum::Attachments->value); } public function mediaAssignments() { return $this->morphMany(MediaAssignment::class, 'mediable'); } }