From b6fd1d95ea9f51727d2a88a067c6cd23377060a3 Mon Sep 17 00:00:00 2001 From: David Callizaya Date: Thu, 17 Sep 2026 09:43:29 -0400 Subject: [PATCH] refactor: optimize group retrieval using query builder --- .../Repositories/ProcessExecutionRawRepository.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ProcessMaker/Repositories/ProcessExecutionRawRepository.php b/ProcessMaker/Repositories/ProcessExecutionRawRepository.php index 5d92e53752..cf7685c7bc 100644 --- a/ProcessMaker/Repositories/ProcessExecutionRawRepository.php +++ b/ProcessMaker/Repositories/ProcessExecutionRawRepository.php @@ -483,13 +483,12 @@ private function mergeGroupMemberUserIdsRaw(array $groupIds, array &$users): voi if ($subGroupIds) { $subGroupIds = array_values(array_unique($subGroupIds)); - $groupPlaceholders = implode(',', array_fill(0, count($subGroupIds), '?')); - $activeGroups = DB::select( - "SELECT id FROM `groups` WHERE id IN ($groupPlaceholders) AND status = ?", - array_merge($subGroupIds, ['ACTIVE']) - ); - foreach ($activeGroups as $group) { - $pending[] = (int) $group->id; + $activeGroupIds = DB::table('groups') + ->whereIn('id', $subGroupIds) + ->where('status', 'ACTIVE') + ->pluck('id'); + foreach ($activeGroupIds as $groupId) { + $pending[] = (int) $groupId; } } }