diff --git a/app/Http/Controllers/Api/Admin/TenantUserApiController.php b/app/Http/Controllers/Api/Admin/TenantUserApiController.php index abe88a72..af840431 100644 --- a/app/Http/Controllers/Api/Admin/TenantUserApiController.php +++ b/app/Http/Controllers/Api/Admin/TenantUserApiController.php @@ -23,18 +23,16 @@ public function search(Request $request): JsonResponse ->where('user_tenants.tenant_id', $tenantId) ->where('user_tenants.is_active', true); }) - ->leftJoin('departments', function ($join) { - $join->on('departments.id', '=', DB::raw('( - SELECT du.department_id FROM department_user du - WHERE du.user_id = users.id AND du.is_primary = 1 - LIMIT 1 - )')); + ->leftJoin('tenant_user_profiles as tp', function ($join) use ($tenantId) { + $join->on('tp.user_id', '=', 'users.id') + ->where('tp.tenant_id', $tenantId); }) + ->leftJoin('departments', 'departments.id', '=', 'tp.department_id') ->whereNull('users.deleted_at') ->when($query, function ($q) use ($query) { $q->where(function ($sub) use ($query) { $sub->where('users.name', 'like', "%{$query}%") - ->orWhere('users.email', 'like', "%{$query}%"); + ->orWhere('departments.name', 'like', "%{$query}%"); }); }) ->orderBy('users.name') @@ -42,7 +40,8 @@ public function search(Request $request): JsonResponse ->select([ 'users.id', 'users.name', - 'departments.name as department_name', + 'departments.name as department', + 'tp.position_key as position', ]) ->get();