首页 > 解决方案 > 使用 DateType 在 Symfony 的表单中创建/编辑模式中的默认数据

问题描述

在 Symfony 表单中,我有:

->add('fechalimite', DateType::class, [
  'format' => 'dMMMMyyyy',
  'data' => new \DateTime(),
])

打开表格,我在 fechalimite 字段中有今天的日期:2018 年 12 月 15 日。我可以更改字段,例如。2018 年 12 月 28 日,我在数据库中提交更改没有问题。

问题来了编辑表格。当我编辑该字段时,取今天的日期,而不是 2018 年 12 月 28 日。

我正在寻找不保持编辑模式的数据默认值。

怎么解决?

标签: symfony

解决方案


您可以使用实体构造函数来设置默认值,如下所示:

class YourEntity {
  private $fechalimite;

  public function __construct()
  {
     $this->fechalimite = new \DateTime();
  } 
}

这将在您创建新实体时设置默认值。


推荐阅读