Исключение преобразования значения формы Symfony - PullRequest
0 голосов
/ 04 ноября 2018

prod.log

request.CRITICAL : необработанное исключение PHP Symfony \ Component \ Form \ Exception \ TransformationFailedException: " Невозможно преобразовать значение для пути свойства" location ": ожидается числовое значение. " at /home/placeme1/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php line 1107

{"исключение": "[объект] (Symfony \ Component \ Form \ Exception \ TransformationFailedException (код: 0): невозможно преобразовать значение для пути свойства \" location \ ": ожидается числовое значение. At / home / placeme1 /vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1107, Symfony \ Component \ Form \ Exception \ TransformationFailedException (код: 0): ожидается числовое значение. по адресу /home/placeme1/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php:113) "} []

Действие контроллера

/**
 * @Route("/student/details/edit")
 */
public function editStudentAction(Request $request)
{
    $user = $this->get('security.token_storage')->getToken()->getUser();
    $em = $this->getDoctrine()->getManager();
    $student = $em->getRepository('AppBundle:Student')
                  ->findOneBy(['userId'=>$user->getId()]);

    $categoryQuery = $em->getRepository('AppBundle:SkillCategory')->findAll();

    $form = $this->createFormBuilder($student)
        ->add('university',TextType::class)
        ->add("course",TextType::class)
        ->add("location",IntegerType::class)
        ->getForm();

    $form->handleRequest($request);

    if ($form->isSubmitted()) {
        if($form->isValid()) {
            $review_data = $form->getData();
            $em->persist($review_data);
            $em->flush();
            $this->addFlash('success', 'Your Review has been added');
            return $this->redirect('/profile');
        } else {
            return new Response("form is not valid");
        }
    } else {
        //return new Response("not correct");
    }

    return $this->render('student/editStudent.html.twig',array(
        "editStudentForm" => $form->createView(),
        "skillCategorys" => $categoryQuery,
    ));
}

1 Ответ

0 голосов
/ 04 ноября 2018

Не могли бы вы выслать нам декларацию об учащемся (class, yml или xml)?

Кажется, что поле местоположения Студента не является целочисленным типом.

Это сработает, если вы удалите тип формы в поле местоположения, как это?

$form = $this->createFormBuilder($student)
    ->add('university',TextType::class)
    ->add("course",TextType::class)
    ->add("location")
    ->getForm();
...