Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set default value on Datetime field in symfony2 form

I have a form containing several fields. One of them is a Datetime field. How to define a default value for that field?

I've tried setting a value on the related entity, in controller, in constructor and __construct :

$myEntity = new MyEntity(); $myEntity->setMyDate(new \DateTime()); $form = $this->createForm(new AddMyEntity(), $myEntity); 

Not working.

Tried to define the $data variable in the buildForm :

$builder->add('myDate', 'date', array(     'format' => \IntlDateFormatter::SHORT,     'input' => 'datetime',     'widget' => 'single_text',     'data' => new \DateTime("now")); 

Not working either. Any ideas, Symfony2 community?

EDIT : Adding entity on demand of faost.

/**  * @ORM\Column(name="myDate", type="datetime")  * @Assert\NotBlank()  */ private $myDate; 
like image 606
i.am.michiel Avatar asked Jan 03 '12 13:01

i.am.michiel


1 Answers

Set it in the entity constructor:

class Entity {     /**      * @var \DateTime      */     private $date;      public function __construct()     {         $this->date = new \DateTime();     } } 
like image 152
Elnur Abdurrakhimov Avatar answered Sep 19 '22 14:09

Elnur Abdurrakhimov