在表单生成器 symfony3 中获取日期时间

Get datetime in form builder symfony3

如何获取日期时间并添加到数据库中,我在 (Bundle/Form/ClassType.php)

处有这样的表单类型生成器
$registered = date('Y-m-d');

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

这是我的实体 class (Bundle/Entity/Class.php)

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

问题是我无法在数据库上添加这个,我收到类似

的错误

错误:调用字符串上的成员函数 format()

有什么帮助吗?

您需要使用 DateType 而不是 TextType。

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