Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
321 views
in Technique[技术] by (71.8m points)

php - 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.

/**
 * @ORMColumn(name="myDate", type="datetime")
 * @AssertNotBlank()
 */
private $myDate;
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Set it in the entity constructor:

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

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...