Я пытался опустошить объект JSON с доктриной. Я надеюсь, что кто -то здесь может показать мне, как рекурсивно найти объекты и заменить их существующими объектами (и объединить изменения, если это необходимо). < /P>
Я хочу использовать компоненты Symfony, а не третью лицевую библиотеку. < /P>
{
id: 12,
name: "360 Wallmount",
categories: [
{id: 15},
{id: 12}
]
}
< /code>
При десериализации JSON выше с Symfony Deserializer < /p>
$entity = $this->serializerManager->deserialize($product, $request->getContent());
< /code>
не заменяет категории продуктов существующими объектами доктрины < /p>
Вот функция Deserialize < /p>
public function deserialize($entity, mixed $data, $groups = null)
{
$context = [
AbstractObjectNormalizer::DEEP_OBJECT_TO_POPULATE => true,
AbstractNormalizer::OBJECT_TO_POPULATE => $entity,
AbstractNormalizer::GROUPS => $groups
];
return $this->serializer->deserialize($data, $entity::class, 'json', $context);
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... ng-objects