Symfony 2.8: $ form-> getData () в контроллере для обновления существующего объекта - PullRequest
0 голосов
/ 26 сентября 2018

У меня в контроллере два действия newAction, editAction.Я использую форму Symfony, поэтому в newAction я использую следующий код:

$entity = $form->getData();
$this->em->persist($entity);
$this->em->flush();

для создания новой строки в базе данных.

Так как я могу использовать другую форму вeditAction для обновления существующей сущности?Кстати, в моей форме редактирования, некоторые дополнительные поля добавлены, а некоторые поля из первой формы удалены.

$entity = $repo->find($id);
$entity = $form->getData();
$this->em->persist($entity);
$this->em->flush();

Ofc этот код пытается создать новый.У меня большая форма, и я не уверен, что стоит использовать $entity->setField($form->getField());

1 Ответ

0 голосов
/ 26 сентября 2018

Основной проблемой было то, что я забыл добавить свою сущность во время создания формы

$form = $this->createForm(new MyFormType(), **$myEntity**); 

Так что теперь все отлично работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...