2016-12-09 2 views
1

Wie erhalte ich Datetime und fügen Sie in der Datenbank, ich habe Builder Formulartyp wie so bei (Bundle/Form/ClassType.php)Get Datetime in Form Builder symfony3

$registered = date('Y-m-d'); 

$builder->add('registered', TextType::class, array(
    'label' => 'registered', 
    'data' => $registered, 
));  

Und hier meine Entitätsklasse ist (Bundle/Entity/Class.php)

/** 
* @var \DateTime 
* 
* @ORM\Column(name="registered", type="datetime", columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP") 
*/ 
private $registered; 

Das Problem ist, ich dies zu db nicht hinzufügen können, erhalte ich Fehler wie

Fehler: Rufen Sie an ein Mitglied Funktion Format() auf Zeichenfolge

Irgendwelche Hilfe?

+0

Datum ändern in Datetime –

+0

diese Zeilen lesen - https://symfony.com/doc/current/reference/forms/types/datetime.html#placeholder –

Antwort

0

Sie müssen DateType anstelle von TextType verwenden.

->add('registered', DateType::class, array(
      'widget' => 'single_text', 
      'input' => 'string', 
      'format' => 'yyyy-MM-dd', 
      'data' => $registered, 
      'attr' => array(
       'placeholder' => 'yyyy-MM-dd', 
      ) 
     )) 
+0

Hallo Fehler Fehler: Rufen Sie an ein Mitglied Funktion Format() on string – phpmeter

+0

Ohne 'input' versuchen => 'string' – panche14

+0

error Wert für Eigenschaftspfad "registered" konnte nicht umgewandelt werden: Erwartet ein \ DateTimeInterface. – phpmeter