我在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"类型的参数
如何在Symfon2.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')),
....
在实体中,将日期时间设置为字段,如下所示:
/**
* Constructor
*/
public function __construct()
{
$this->date = new DateTime();
}