我会如何去设置表单的datetime字段的默认值到Symfony2中的当前时间?如何在Symfony2中将日期时间字段的默认值设置为当前时间?
我使用的FormBuilderInterface及以下不工作:
$builder->add(
'completed_datetime', 'datetime', array('data' => new \DateTime('now'))
);
形式继续展示我的推测是对的日期时间字段:2008-01-01 00:00为默认值。
我会如何去设置表单的datetime字段的默认值到Symfony2中的当前时间?如何在Symfony2中将日期时间字段的默认值设置为当前时间?
我使用的FormBuilderInterface及以下不工作:
$builder->add(
'completed_datetime', 'datetime', array('data' => new \DateTime('now'))
);
形式继续展示我的推测是对的日期时间字段:2008-01-01 00:00为默认值。
最后事实证明我正在查看我的页面的缓存版本。 Ctrl + F5清除缓存并显示所需的结果。
我能够实现我在这里公布的两种方式所需要的功能,即:
在Type类:
$builder->add(
'completed_datetime', 'datetime', array('data' => new \DateTime('now'))
);
而且在我的控制器:
$task->setCompletedDateTime(new \DateTime('now'));
我相信也可以在我的Task Entity类的构造函数中设置它。
在类构造函数中这样做可能会产生副作用或导致错误的结果。请记住,当Doctrine从数据库加载实体时,类构造函数也会被执行。 – likeitlikeit
你如何解决这个问题@likeitlikeit因为我在编辑时卡住了当前时间? –
使用“数据”选项即使在编辑时也会将字段设置为datetime。这并不总是需要的。 – Forer
它代替什么?你有错误吗?不工作不是说太多,你知道吗? – hakre
@hakre - 道歉,我应该解释。它只是继续显示我认为是datetime字段的默认日期 - 2008-01-01 00:00 – Anonymous
通常情况下,请在您的系统上逐字运行代码,看看您是否现在没有得到。 http://eval.in/6082 – hakre