i.am.michiel i.am.michiel - 10 months ago 111
PHP Question

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;

Answer Source

Set it in the entity constructor:

class Entity
{
    /**
     * @var \DateTime
     */
    private $date;

    public function __construct()
    {
        $this->date = new \DateTime();
    }
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download