distinct()->get(); $filteredData = []; foreach ($data as $item) { $deviceName = @explode('_', $item->device_name)[0]; $deviceName = strtolower($deviceName); if (!in_array($deviceName, $filteredData)) { if ($all) { $filteredData[] = $deviceName; } else { if (in_array($deviceName, $user->unit?->device_names ?? [])) { $filteredData[] = $deviceName; } } } } return $filteredData; }