Symfony2.0与今天形成约会

时间:2014-04-30 11:59:28

标签: php forms datetime symfony-2.0

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

我想创建一个类型为date的表单字段,日期应为今天。有什么问题?

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

我没有实体。

错误讯息:

“DateTime”类型的预期参数,“array”给出

如何在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')), 
....

1 个答案:

答案 0 :(得分:0)

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

/**
     * Constructor
     */
    public function __construct()
    {
        $this->date = new \DateTime();
    }