1

我在 symfony2.0 中创建了一个表单并在这里阅读了一些文章。但一切都行不通。

我想创建一个表单字段,其类型 date和日期应该是今天。怎么了?

            ->add('date', 'date', array(
                'input'  => 'datetime',
                'widget' => 'choice',
                'format' => 'dd-MM-yyyy',
                'data'  => new \DateTime() //new \DateTime('today') didn't work
            ))

我没有实体。

错误信息:

给定“日期时间”、“数组”类型的预期参数

如何在 Symfony2.0 中正确传递它?

更新:答案

有点太多的代码,但这就是答案。

在表单生成器之前:

$dt = new \DateTime();

表单生成器:

....
'input'  => 'array',
'widget' => 'choice',
'format' => 'dd MM yyyy',
'data'  =>  array('year' => $dt->format('Y'), 'month' => $dt->format('m'), 'day' => $dt->format('d')), 
....
4

1 回答 1

1

在您的实体中,将日期时间设置为您的字段,如下所示:

/**
     * Constructor
     */
    public function __construct()
    {
        $this->date = new \DateTime();
    }
于 2014-04-30T12:06:33.090 回答