normalizer->normalize($object, $format, array_merge($context, [ self::SKIP => spl_object_hash($object), ])); $initial['workflows_availables'] = $this->metadataExtractor->availableWorkflowFor( AccompanyingPeriodWorkEvaluationDocument::class, $object->getId() ); $workflows = $this->entityWorkflowRepository->findBy([ 'relatedEntityClass' => AccompanyingPeriodWorkEvaluationDocument::class, 'relatedEntityId' => $object->getId(), ]); $initial['workflows'] = $this->normalizer->normalize($workflows, 'json', $context); return $initial; } public function supportsNormalization($data, ?string $format = null, array $context = []) { return $data instanceof AccompanyingPeriodWorkEvaluationDocument && 'json' === $format && ( !array_key_exists(self::SKIP, $context) || spl_object_hash($data) !== $context[self::SKIP] ); } }