Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

234
Views
Symfony Serializer no puede manejar Doctrine Id al deserializar

Estoy tratando de serializar y luego deserializar una Entidad Doctrine en Symfony 3. Bueno, por supuesto, no funciona para la propiedad id porque no hay acceso público a la id por defecto. Entonces, ¿cuál es la mejor opción para eso?

  1. Agregue un método setId() , pero probablemente sea una mala idea y socave el comportamiento predeterminado de la doctrina.

  2. Use un Normalizer personalizado que use la reflexión para construir el objeto simplemente accediendo al campo.

  3. Proporcione a la entidad alguna funcionalidad personalizada toArray() , fromArray() y use los valores de la matriz en lugar del objeto en la serialización.

¿O me estoy perdiendo algo? ¿Ya hay algo integrado en Symfony para ese caso de uso?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar la opción object_to_populate para hacer eso:

 // retrieve entity to update from DB $oldProduct = $this->getDoctrine()->getRepository(Product::class)->find($request->request->get('id')); $product = $this->get('serializer')->deserialize($request->getContent(), Product::class, 'json', array('object_to_populate' => $oldProduct)); $entityManager = $this->getDoctrine()->getManager(); $entityManager->persist($product); $entityManager->flush();

Consulte la documentación de Deserializar en un objeto existente.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!