Intento modificar el campo DateTime del objeto con la función de modify .
$em = $this->getDoctrine()->getManager(); $end = $session->getEndDate(); $session->setEndDate($end->modify('+10 seconds')); $em->persist($session); $em->flush();Este es el setter para el campo $endDate en la clase Session:
/** * @param \DateTime $endDate */ public function setEndDate(\DateTime $endDate) { $this->endDate = $endDate; }¿Por qué los cambios de fecha de finalización no se pueden conservar en la base de datos?
Doctrine no guardará los cambios en la instancia de DateTime existente (creo que debido a las partes internas de las pruebas de igualdad de PHP)
Si clona el objeto y luego lo vuelve a configurar, debería funcionar. ¿O clonarlo en el setter?
Ver Doctrine2 ORM no guarda los cambios en un campo DateTime
Necesitas enjuagarlo:
$em->flush($session);La persistencia es solo para la entidad que aún no se ha creado.
ACTUALIZAR:
El método de modify no devuelve nada, afecta la instancia del objeto especificado, por lo que simplemente puede intentar:
$end = $session->getEndDate(); $end->modify('+10 seconds'); $em->flush();Espero que esto ayude
Debe agregar fusionar o vaciar para guardar la actualización
$end = $session->getEndDate(); $session->setEndDate($end->modify('+10 seconds')); $em->persist($session); $em->flush();