From 0bd017360cae4f4ac7d7c0919d3ed6129172ab85 Mon Sep 17 00:00:00 2001 From: "ehsan.moradi" Date: Tue, 6 May 2025 11:31:05 +0330 Subject: [PATCH] add package name filter to label index --- app/Repositories/LabelRepository.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/Repositories/LabelRepository.php b/app/Repositories/LabelRepository.php index 22f58313..dac2da31 100644 --- a/app/Repositories/LabelRepository.php +++ b/app/Repositories/LabelRepository.php @@ -12,6 +12,9 @@ class LabelRepository implements LabelRepositoryInterface return Label::when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) { $query->where('sterilizer_id', $request->sterilizer_id); }) + ->when($request->has('package_name') && $request->package_name != '', function ($query) use ($request) { + $this->applyPackageNameFilter($query,$request); + }) ->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) { $query->where('cycle_number', $request->cycle_number); }) @@ -49,6 +52,9 @@ class LabelRepository implements LabelRepositoryInterface return Label::when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) { $query->where('sterilizer_id', $request->sterilizer_id); }) + ->when($request->has('package_name') && $request->package_name != '', function ($query) use ($request) { + $this->applyPackageNameFilter($query,$request); + }) ->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) { $query->where('cycle_number', $request->cycle_number); }) @@ -86,6 +92,9 @@ class LabelRepository implements LabelRepositoryInterface return Label::when($request->has('sterilizer_id') && $request->sterilizer_id != '', function ($query) use ($request) { $query->where('sterilizer_id', $request->sterilizer_id); }) + ->when($request->has('package_name') && $request->package_name != '', function ($query) use ($request) { + $this->applyPackageNameFilter($query,$request); + }) ->when($request->has('cycle_number') && $request->cycle_number != '', function ($query) use ($request) { $query->where('cycle_number', $request->cycle_number); }) @@ -114,4 +123,11 @@ class LabelRepository implements LabelRepositoryInterface ->orderByDesc('id') ->paginate(10); } + + public function applyPackageNameFilter($q,$request) + { + return $q->whereHas('package', function ($query) use ($request) { + $query->where('packages.name', 'like', "%{$request->package_name}%"); + }); + } }