Данные по умолчанию в режиме создания / редактирования в форме Symfony с использованием DateType - PullRequest
0 голосов
/ 15 декабря 2018

В форме Symfony у меня есть:

->add('fechalimite', DateType::class, [
  'format' => 'dMMMMyyyy',
  'data' => new \DateTime(),
])

Открывая форму, я имею в поле fechalimite сегодняшнюю дату: 15 декабря 2018 года. Я могу изменить поле, напр.28 декабря 2018 года, и я отправляю изменения в базу данных без проблем.

Проблема связана с редактированием формы.Когда я редактирую поле, берут сегодняшнюю дату, а не 28 декабря 2018 года.

Я ищу данные по умолчанию, которые не остаются в режиме редактирования.

Как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Вы можете использовать свой конструктор сущностей, чтобы установить значение по умолчанию следующим образом:

class YourEntity {
  private $fechalimite;

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

Это установит значение по умолчанию при создании новой сущности.

0 голосов
/ 16 декабря 2018

Я нашел решение для различения между созданием и редактированием:

$formMapper;

    if ($this->isCurrentRoute('create')) {
    $formMapper
        ->add('fechalimite', DateType::class, [
          'format' => 'dMMMMyyyy',
          'data' => new \DateTime(),
        ])
        ;
    } else {
    $formMapper
        ->add('fechalimite', DateType::class, [
          'format' => 'dMMMMyyyy',
        ])
        ;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...