diff --git a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php index 3b360ce5..df5368ed 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php @@ -19,6 +19,7 @@ use Illuminate\Support\Facades\Storage; use Modules\Internal\Services\MemberEnrollmentService; use PDF; use Illuminate\Support\Facades\DB; +use Illuminate\Database\Eloquent\Builder; class CorporateMemberController extends Controller { @@ -33,16 +34,8 @@ class CorporateMemberController extends Controller public function index(Request $request, $corporate_id) { $members = Member::query() - ->filter($request->all()) + ->joinCorporateEmployees('left') ->where('corporate_employees.corporate_id', $corporate_id) - ->select('members.*') - ->selectSub(function ($query) { - $query->selectRaw('GROUP_CONCAT(files_mcu.original_name SEPARATOR ", ")') - ->from('files_mcu') - ->whereRaw('files_mcu.memberid = members.id'); - }, 'file_mcu_names') - ->leftJoin('files_mcu', 'members.id', '=', 'files_mcu.memberid') - ->leftJoin('corporate_employees', 'members.id', '=', 'corporate_employees.member_id') ->with([ 'employeds', 'currentPolicy', @@ -60,6 +53,14 @@ class CorporateMemberController extends Controller ]); } ]) + ->when($request->input('search'), function (Builder $query, $search) { + $query->where(function (Builder $query) use ($search) { + $query->orWhere('members.member_id', 'like', "%" . $search . "%") + ->orWhere('members.name', 'like', "%" . $search . "%"); + }); + }) + ->select('members.*') + ->selectRaw('(SELECT GROUP_CONCAT(files_mcu.original_name SEPARATOR ", ") AS file_mcu_names from files_mcu WHERE files_mcu.memberid = members.id) AS file_mcu_names') ->paginate() ->appends($request->all()); return Helper::paginateResources(MemberDataTableResource::collection($members));