У меня есть объект doctrine, содержащий поля DateTime. Когда я сериализовать объект, который будет использоваться формами, я трансформировать объекты даты-времени, используя эту функцию обратного вызова (взятую из Symfony): documentationSymfony2 unserialize для создания учения Entity с DateTime с использованием serializer
$callback = function ($dateTime) {
return $dateTime instanceof \DateTime
? $dateTime->format(\DateTime::ISO8601)
: '';
эта функции присоединенная к нормализатору.
Дата также преобразуется в строку с использованием изображения dd/MM/yyyy
и помещается в форму в виде строки (я использую дату datepicker JavaScript).
Форма отправляется с использованием ajax в контроллер, который получает объект как массив PHP.
Теперь мне нужно преобразовать массив (содержащий эту дату в виде строки) обратно в мой объект Doctrine.
Есть ли способ десериализации массива в Entity? Я пытался использовать deserialize(json_encode($array))
, но получаю ошибку при преобразовании DateTime.
любая подсказка?
Вы пытались использовать Data Transformer в своей форме? (Http://symfony.com/doc/current/cookbook/form/data_transformers.html) – angelwally