App\Entity\Page:
autowire: true
Основная задача распарсить строку на русском языке.- ни доктрина, ни pgsql тут не при чем. Вам нужно https://phplrt.org
class StatusEnumNormalizer implements DenormalizerInterface
{
public function denormalize($data, string $type, string $format = null, array $context = [])
{
return match ($data) {
0 => StatusEnum::TRANSACTION_STATUS_SUCCESS,
1 => StatusEnum::TRANSACTION_STATUS_IN_PROCESS,
2 => StatusEnum::TRANSACTION_STATUS_FAIL,
default => null,
};
}
public function supportsDenormalization($data, string $type, string $format = null)
{
return $type === StatusEnum::class;
}
public function getSupportedTypes(?string $format): array
{
return [
'int' => true,
];
}
}
Так или иначе я попробовал сделать. Связал через аннотации нормализатор с полем которое оно должен обрабатывать
class StatusEnumNormalizer implements NormalizerInterface
{
public function normalize($object, string $format = null, array $context = [])
{
return match ($object) {
0 => StatusEnum::TRANSACTION_STATUS_SUCCESS,
1 => StatusEnum::TRANSACTION_STATUS_IN_PROCESS,
2 => StatusEnum::TRANSACTION_STATUS_FAIL,
default => null,
};
}
public function supportsNormalization($data, string $format = null)
{
return $data instanceof StatusEnum::class;
}
}
Он не работает, выдает ошибку, которую я привел тут в вопросе.
1
, которое в тексте ошибки \Symfony\Component\Serializer\SerializerInterface
и все будет работать
На каком моменте он требуется? Видится, будто бы можно и без него обойтись и вся проблема как раз в его настройке