Symfony 3: добавить поле в уже отправленную форму - PullRequest
0 голосов
/ 13 декабря 2018

, посмотрев другие темы, я не решил свою проблему, я ищу, чтобы добавить поле user_id в форму (так как пользователь не выберет его), но Symfony возвращает мне «Вызов функции-члена addEventListener () на строку "

вот мой код:

if ($form->isSubmitted() && $form->isValid()) {
        $builder->addEventListener(FormEvents::PRE_SUBMIT, function(FormEvent $event) {
            $data = $event->getData();
            $form = $event->getForm();
            $data['user_id'] = '2';
            $event->setData($data); 
        });
        $em = $this->getDoctrine()->getManager();
        $em->persist($deplacement);
        $em->flush($deplacement);

        return $this->redirectToRoute('deplacement_show', array('id' => $deplacement->getId()));
    }

1 Ответ

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

Конечно, это хороший подход?Возможно, вам лучше написать метод для обновления или создания $ deplacement и передать 2 аргумента: переменную $ data из формы и user_id, например:

if ($form->isSubmitted() && $form->isValid()) {

    $em = $this->getDoctrine()->getManager();
    $userId = 2; 
    $formData->userId = $userId;
    $deplacement->update($formData);
    $em->persist($deplacement);
    $em->flush($deplacement);

    return $this->redirectToRoute('deplacement_show', array('id' => $deplacement->getId()));
}

Также я думаю, что вам не нужнослушатель событий.Почему ты это используешь?

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