3

我用 Symfony2 创建了一个这样的表单:

$builder
                ->add('days', 'date', array(
                    'widget' => 'choice',
                                    'format' => 'dd-MM-yyyy',
                                    'pattern' => '{{ day }}-{{ month }}-{{ year }}',
                                    'years' => range(Date('Y'), 2010),
                                    'label' => 'Inactive participants since',
                                    'input' => 'string',
                    ));

但我想显示一个默认日期,例如今天,所以,当我打印 de form 我看到

02 - 05 - 2012

任何的想法?

4

3 回答 3

4

这适用于约会吗?

 $builder
                    ->add('days', 'date', array(
                        'widget' => 'choice',
                                        'format' => 'dd-MM-yyyy',
                                        'pattern' => '{{ day }}-{{ month }}-{{ year }}',
                                        'years' => range(Date('Y'), 2010),
                                        'label' => 'Inactive participants since',
                                        'input' => 'string',
                                        'data'  => '01-01-2001'
                        ));
于 2012-05-03T12:11:39.000 回答
1

您必须在表单之前设置默认日期。

当您创建实体 ( $entity = new Entity();) 时,只需添加您的默认值,如下所示:

$entity->setDays(my_value);

如果要添加今天的日期,可以使用 DateTime 函数,如下所示:

$entity->setDays(new \DateTime());

希望我足够清楚。

于 2012-05-02T15:56:03.150 回答
0

对于 2.1,表单将默认为今天的日期:

 $builder
                    ->add('days', 'date', array(
                        'widget' => 'choice',
                                        'format' => 'dd-MM-yyyy',
                                        'pattern' => '{{ day }}-{{ month }}-{{ year }}',
                                        'years' => range(Date('Y'), 2010),
                                        'label' => 'Inactive participants since',
                                        'input' => 'string',
                                        'data'  => date_create()
                        ));
于 2012-12-16T14:37:59.080 回答