Редактировать часть объекта с формой - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть объект (около 20/25 полей), и я хочу отредактировать его с помощью формы.

Я просто хочу отредактировать (и отобразить) несколько полей формы.

Проблема в том, что все отображаемые поля корректно обновляются, но поля, которые не отображаются, по умолчанию обновляются с нулевым значением.

Мой контроллер:

$em = $this->getDoctrine()->getManager();

$LaboRequest= $em->getRepository('MyBundle:LaboRequest')->find($id);
$form = $this->createForm('MyBundle\Form\LaboRequestType', $LaboRequest);

if ($request->isMethod('POST') && $form->handleRequest($request)->isSubmitted() && $form->isValid()) {

    $em->persist($LaboRequest);
    $em->flush();

    return $this->redirectToRoute(...);
}

return $this->render('...', array(
            'LaboRequest' => $LaboRequest,
            'form' => $form->createView(),
        ));

Я отображаю только несколько полей в моем представлении, поэтому я могу понять, что по умолчанию Symfony использует "null" для полей, которые не отображаются.

Но есть ли способ отредактировать часть объекта и не повлиять на данные объекта со значением "null"?

1 Ответ

0 голосов
/ 03 апреля 2019

Я не уверен, что вы можете сделать это.Но вы можете расширить исходную форму и позвонить

$builder->remove('xxx')

для каждого поля, которое вы хотите удалить

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