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'); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |