Salut tout le monde, je suis debutant en symfony 4.3.3, j'ai un formulaire lie a une entity,
le rendu s'affiche normalement, mais quand j'essaie de soumettre une requete d'insertion dans la BD,
je tombe sur l'erreur suivante, j'arrive pas a resoudre. SVP besoin d'aideNom : Capture.PNG
Affichages : 295
Taille : 42,7 Ko

Voici mon controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
 
namespace App\Controller;
 
use Symfony\Component\Routing\Annotation\Route;
use App\Form\RegistrationType;
use App\Entity\User;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
 
class SecurityController extends AbstractController
{
    /**
     * @Route("/employe/registration", name="security_registration")
     * @Route("/employe/{id}/edit", name="show_employe")
     * @param Request $request
     * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response
     */
    public function Form(User $user = null, Request $request, ObjectManager $manager)
    {
        if (!$user) {
            $user = new User();
        }
        $form = $this->createForm(RegistrationType::class, $user);
 
        $form->handleRequest($request);
 
        dump($user);
 
        if ($form->isSubmitted() && $form->isValid()) {
 
            $manager->persist($request);
            $manager->flush();
            return $this->redirectToRoute('show_employe', ['id' => $user->getId()]);
        }
 
        return $this->render('security/registration.html.twig', [
            'form' => $form->createView(),
            'editMode' => $user->getId() !== null
        ]);
    }
}
et voici le formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
 
namespace App\Form;
 
use App\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
 
class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nom_complet')
            ->add(
                'civilite',
                ChoiceType::class,
                [
                    'choices' => [
                        '-- Choix de la civilite --' => null,
                        'Homme' => 'Homme',
                        'Femme' => 'Femme'
                    ]
                ]
            )
 
            ->add(
                'statut_matrimoniale',
                ChoiceType::class,
                [
                    'choices' => [
                        '-- Choix du statut matrimoniale --' => null,
                        'Marie' => 'Marie',
                        'Celibataire' => 'Celibataire',
                        'Divorce' => 'Divorce'
                    ]
                ]
            )
            ->add('poste')
            ->add('date_recrutement', DateType::class)
            ->add(
                'statut_poste',
                ChoiceType::class,
                [
                    'choices' => [
                        '-- Choix du statut du poste --' => null,
                        'Permanant' => 'Permanant',
                        'Temporaire' => 'Temporaire',
                        'Ponctuel' => 'Ponctuel'
                    ]
                ]
 
            )
            ->add(
                'type_contrat',
                ChoiceType::class,
                [
                    'choices' => [
                        '-- Choix du type de contrat --' => null,
                        'CDI' => 'CDI',
                        'CDD' => 'CDD',
                        'Temporaire' => 'Temporaire',
                        'Saisonier' => 'Saisonier',
                        'Stage' => 'Stage',
                    ]
                ]
 
            )
            ->add('date_nais', DateType::class)
            ->add('adresse')
            ->add('phone', TelType::class)
            ->add('email', EmailType::class)
            ->add('matricule')
            ->add('username')
            ->add('password', PasswordType::class)
            ->add('cpassword', PasswordType::class);
    }
 
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => User::class,
        ]);
    }
}