diff --git a/app/Repositories/MedicalHistoryRepository.php b/app/Repositories/MedicalHistoryRepository.php index 0704fc6..8befa78 100644 --- a/app/Repositories/MedicalHistoryRepository.php +++ b/app/Repositories/MedicalHistoryRepository.php @@ -5,6 +5,7 @@ namespace App\Repositories; use App\Models\SI\SttMedicalHistory as SiMedicalHistory; use App\Models\Mis\SttMedicalHistory as MisMedicalHistory; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Collection; use Illuminate\Support\Facades\DB; @@ -221,12 +222,16 @@ class MedicalHistoryRepository }); } - private function applyStatusFilter($query, ?int $value) + private function applyStatusFilter(Builder $query, ?int $value) { - if ($query->withExists('archiveInfo') && !empty($value)) { - $query->withWhereHas('archiveInfo', function ($q) use ($value) { - $q->where('status_id', '=', $value); - }); + if ($value === 0) { + $query->doesntHave('archiveInfo'); + } else { + if ($query->withExists('archiveInfo') && !empty($value)) { + $query->withWhereHas('archiveInfo', function ($q) use ($value) { + $q->where('status_id', '=', $value); + }); + } } }