首页 > 解决方案 > DateTime - Symfony FormBuilder 传递值

问题描述

我从数据库中获取了一个特定的 DateTime 值,我想将其作为可选值传递给表单呈现(不起作用),但还有一个可以更改的选项(该选项正在工作)。

我得到了日期,但我无法通过我的表单生成器传递它。

我的(部分)代码:

    $lastDate = $transactions[count($accounts) - 1]->getDate();
    $theDate = $lastDate->format('Y-m-d H:i:s');

    $form = $this->createFormBuilder()
            ->add('issuingDate', DateType::class, array(
                'data'  => $theDate,
                'label' => false,
                'attr'  => array(
                    'date' => (new \DateTime())->format('Y-m-d  H:i:s'),
                )))
            ->add('submit', SubmitType::class, array('label' => 'Save', 'attr' => [
                'class' => 'btn btn-bg btn-primary'
            ]))
            ->getForm();

其他一切似乎都运行良好。

标签: phpdatetimeformbuilder

解决方案


$lastDate = $transactions[count($accounts) - 1]->getDate();


$form = $this->createFormBuilder()
        ->add('issuingDate', DateType::class, array(
            'data'  => $lastDate,
            'data_class' => \DateTime::class,
            'label' => false,
            ))
        ->add('submit', SubmitType::class, array('label' => 'Save', 'attr' => [
            'class' => 'btn btn-bg btn-primary'
        ]))
        ->getForm();

这应该足以显示一个带有 $lastDate 对象值的预填充日期的表单。


推荐阅读