Estamos utilizando Symfony2 para crear una API. Al actualizar un registro, esperamos que la entrada JSON represente una entidad actualizada serializada. Los datos JSON no contendrán algunos campos (por ejemplo, CreatedAt debe establecerse solo una vez cuando se crea la entidad, y nunca se actualiza). Por ejemplo, aquí hay un ejemplo de solicitud JSON PUT:¿Cómo actualizar una entidad Doctrine desde un JSON serializado?
{"id":"1","name":"anyname","description":"anydescription"}
Este es el código PHP en el controlador que debe actualizar la entidad de acuerdo con el JSON anterior (estamos utilizando JMS serializador Bundle):
$supplier = $serializer->deserialize(
$this->get('request')->getContent(),
'WhateverEntity',
'json'
);
EntityManger entiende (correctamente) que se trata de una solicitud de actualización (de hecho, una consulta SELECT se activa de forma implícita). El EntityManager también adivina (no correctamente) que la propiedad CreatedAt debe ser NULLified, sino que debe mantener la anterior.
¿Cómo solucionar este problema?