Symfony Forms: постоянный объект с конструктором в Databese - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь сохранить объект объекта в базе данных с помощью форм Symfony.У сущности есть конструктор, поэтому я даю фиктивные данные объекта, но я не могу изменить эти данные с помощью форм.У кого-нибудь есть решение, как создать объект, который требует конструктора?

 public function new(Request $request)
    {

        $player = new Player("Dummy",0);




        $form = $this->createFormBuilder($player)
            ->add('name', TextType::class)
            ->add('points', IntegerType::class)
            ->add('save', SubmitType::class, array('label' => 'Create Player'))
            ->getForm();

        $form->handleRequest($request);

        $data = $form->getData();
        $name = $data->getName();
       error_log($name);




        $this->PlayerRepository->store($player);



        return $this->render('default/new.html.twig', array(
            'form' => $form->createView(),
        ));
    }

$ name всегда имеет значение «Dummy», независимо от того, что я печатаю в форме.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Хорошо, похоже, я обнаружил ошибку.

Я не определил POST-маршрут для того же контроллера, строящего представление.

извините за это:)

0 голосов
/ 06 октября 2018

Вы сохраняете $player здесь:

$this->PlayerRepository->store($player);

Но ваши фактические данные игрока из формы находятся в $data, и это $data должно быть сохранено:

$this->PlayerRepository->store($data);
...