Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2015, 03:08
weltxo
 
Fecha de Ingreso: abril-2013
Mensajes: 75
Antigüedad: 11 años
Puntos: 2
cómo persistir atributos de tipo date

Hola amigos, estoy iniciándome con symfony y poco a poco voy asimilando las características que este framework ofrece.

La pregunta que quiero haceros es la siguiente, ¿cuál es la forma de poder persistir un atributo de tipo 'date' con doctrine?

Yo tengo la entidad 'Visita'

Código:
.........
class Visita
{
..............
  /** 
   * @ORM\Column(type = "date", name = "fecha", nullable = false)
   */
  protected $fecha;
  ..........
El campo para insertar visitas es de tipo 'text', inicialmente lo tenía como 'date' pero no me gusta cómo el navegador muestra el campo. De esta manera, puedo usar un datepicker y elegir libremente una fecha.

Código:
$builder->add('fecha', 'text', array(
                    'label' => 'Fecha',
                    'attr' => array(
                        'placeholder' => 'Fecha...',
                        'class'       => 'form-control'
                    )
                ))
El problema está a la hora de pulsar en 'submit' y en el proceso de validación/inserción del objeto Error: Call to a member function format() on a non-object

Código:
if ($request->getMethod() == 'POST') {
            $form->bind($request);
            
            if ($form->isValid()) {
                $em->persist($visita);
                $em->flush();
                
                $this->addFlash('info',
                    'Se ha generado una visita con el cliente "' . strtoupper($visita->getCliente()->getNomComercial()) . '"');
                
                return $this->redirectToRoute('visita_nueva', array(), 301);
            }
        }
Alguien puede aconsejarme cómo arreglar este problemilla? Gracias de antemano