Мы используем Symfony2 для создания API.При обновлении записи мы ожидаем, что вход JSON будет представлять сериализованную обновленную сущность.Данные JSON не будут содержать некоторые поля (например, CreatedAt должен быть установлен только один раз при создании объекта - и никогда не обновляться).Например, вот пример запроса JSON PUT:
{"id":"1","name":"anyname","description":"anydescription"}
Вот код PHP на контроллере, который должен обновить объект в соответствии с JSON выше (мы используем комплект JMS-сериализатора):
$supplier = $serializer->deserialize(
$this->get('request')->getContent(),
'WhateverEntity',
'json'
);
EntityManger понимает (правильно), что это запрос на обновление (фактически запрос SELECT запускается неявно).EntityManager также предполагает (не правильно), что свойство CreatedAt должно иметь значение NULLified - вместо этого оно должно сохранять предыдущее.
Как решить эту проблему?