2016-12-09 3 views
1

Как получить DateTime и добавить в базу данных, у меня есть форма типа строитель как и в (Bundle/Форма/ClassType.php)Получить DateTime в форме строитель symfony3

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

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

А вот мой класс сущностей (Bundle/Entity/Class.php)

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

проблема в том, что я не могу добавить это в БД, я получаю сообщение об ошибке, как

ошибка: Вызов в формате функции член() на строке

Любая помощь?

+0

изменение DateTime –

+0

читать это - https://symfony.com/doc/current/reference/forms/types/datetime.html#placeholder –

ответ

0

Вам нужно использовать DateType вместо TextType. Дата

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

Привет Ошибка Ошибка: Вызов в формате функции член() on string – phpmeter

+0

Попробуйте без 'input' => 'string' – panche14

+0

error Невозможно преобразовать значение для пути свойства «зарегистрировано»: ожидается a \ DateTimeInterface. – phpmeter