加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Symfony2:如何为字段DateTime设置默认值

发布时间:2020-12-13 22:26:06 所属栏目:PHP教程 来源:网络整理
导读:我使用Symfony 2.8 我有一个名为“Docentes”的表,其中包含DateTime字段“fechaAlta” 当我添加新记录时,我需要此字段的默认值为“today” 我使用命令generate:doctrine:crud生成CRUD 在文件“DocentesController.php”中,Symfony创建了两个函数:“newAct
我使用Symfony 2.8

我有一个名为“Docentes”的表,其中包含DateTime字段“fechaAlta”

当我添加新记录时,我需要此字段的默认值为“today”

我使用命令generate:doctrine:crud生成CRUD

在文件“DocentesController.php”中,Symfony创建了两个函数:“newAction”和“editAction”(以及其他).两者都使用相同的表单,插入“Form”文件夹中的文件“DocentesType.php”:

public function buildForm(FormBuilderInterface $builder,array $options)
{
    $builder

        ->add('fechaAlta','date')
        ->add('dni')
        #
    ;
}

我试过两个解决方案:

ONE:在名为“Docentes.php”的实体文件中添加函数:

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

但是当我使用表单添加新记录时,字段“fechaAlta”将显示值:Day 01,Month 01和Year 2011.与当前日期不同.

二:

我编辑函数buildForm:

->add('fechaAlta','date',array(
                'data' => new DateTime()))
 ##

现在,当我添加新记录时,我再次获得值:第01天,第01个月和2011年,但是当我编辑记录时,Symfony会更改我的原始值,例如2016-03-25并设置今天的值!与我所需要的完全相反!

解决方法

你应该替换:

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

通过

public function  __construct()
{
$this->fechaAlta = new DateTime('now');    
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读