Как использовать сериализатор для сохранения снимков сложных объектовPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как использовать сериализатор для сохранения снимков сложных объектов

Сообщение Anonymous »

Я работаю над проектом Symfony, в котором у меня есть сущность под названием Richiesta, содержащая множество вложенных отношений, некоторые из которых — OneToMany, ManyToOne и ManyToMany ассоциации.
В определенный момент процесса мне нужно сериализовать все данные из сущности Richiesta (включая связанные с ней сущности) и сохранить их как JSON в снимке экрана таблицу в базе данных.
Позже мне нужно десериализовать этот JSON и восстановить объект Richiesta, включая все его связи, мне нужен результат, как если бы я использовал $repository ->найти(). (т. е. полный объект со всеми его связями).
Я использую SerializerInterface Symfony, но у меня возникают проблемы с правильной обработкой всех вложенных связей во время десериализации.Важно:
Я не хочу использовать DTO, поскольку мне нужны все методы (например, пользовательские конструкторы, установщики и логика предметной области), которые определяется непосредственно внутри самой сущности. Мне нужно, чтобы десериализованный объект был полной сущностью Richiesta со всеми исходными методами.
Основные вопросы:

[*]Как правильно сериализовать объект с вложенными отношениями в Symfony, чтобы можно было десериализовать его обратно в полноценный объект?

[*]Есть ли способ гарантировать, что десериализация включает все вложенные отношения, аналогично тому, как работает метод find() из репозитория?
[*]Каковы наилучшие методы обработки сложных объектов во время сериализации/десериализации в Symfony, особенно при работе с вложенными отношениями?



Подробнее здесь: https://stackoverflow.com/questions/790 ... x-entities
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»