Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SYMFONY 3]Form mapped false problème

Problème avec mon formulaire

    28 mai 2017 à 16:51:54

    Salut,

    J'ai un problème avec mon serveur d'application. Le serveur est sous PHP, Symfony 3.
    J'ai le formulaire suivant :

    public function addAction($id, Request $request)
        {
            if (!$request->isMethod("POST")) {
                $response = new JsonResponse("POST only");
                $response->setStatusCode(Response::HTTP_BAD_REQUEST);
                return $response;
            }
    
            if ($id != 0) {
                $cr = $this->getDoctrine()->getRepository('AppBundle:Cr')->find($id);
            } else {
                $cr = new Cr();
            }
    
            $form = $this->createFormBuilder($cr, array('csrf_protection' => false))
                ->add('date', DateType::class, array(
                        'required' => true,
                        'widget' => 'single_text',
                    )
                )
                ->add('description', TextareaType::class, array('required' => true))
                ->add('todo', TextareaType::class, array('required' => true))
                ->add('typeVisite', IntegerType::class, array('required' => true))
                ->add('project', IntegerType::class, array('mapped' => false))
                ->getForm();
    
            if ($request->isMethod('POST')) {
                $form->submit($request->request->get($form->getName()));
    
                if ($form->isValid()) {
    
                    $em = $this->getDoctrine()->getManager();
    
                    $em->persist($cr);
    
                    $this->updateMobilisationHebdo($cr);
                    $this->updateSuiviBenevoles($cr);
                    if (isset($request->request->get($form->getName())['project']) && $cr->getTypevisite() != 0) {
                        $this->updateSuiviproject($cr, $request->request->get($form->getName())['project']);
                    }
    
                    $em->flush();
    
                    return new JsonResponse('ok');
                } else {
                    $errors = [];
                    foreach ($form->getErrors(true, true) as $error) {
                        $errors[] = $error->getOrigin()->getName() . ' : ' . $error->getMessage();
                    }
    
                    $response = new JsonResponse($errors);
                    $response->setStatusCode(Response::HTTP_NOT_ACCEPTABLE);
                    return $response;
                }
            }
        }


    Mon problème est que si je sélectionne un projet existant pour le champ "projet", il ne prend pas en compte l'ID de celui ci, mais reste par défaut à 0.
    J'aimerai savoir si quelqu'un pouvait m'aider à résoudre mon problème s'il vous plait :)

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2017 à 16:17:36

      Bonjour, as-tu réussi à résoudre ton problème ?
      • Partager sur Facebook
      • Partager sur Twitter

      [SYMFONY 3]Form mapped false problème

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown