Bonjour à tous !
Me revoilà avec mes petits problèmes.
Donc dans un premier temps, j'ai un utilisateur (héritant de FOSUserBundle). Mon utilisateur possède une civilité et une école.
Pour cela j'ai fait :
Pour la civilité :
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 public function buildForm(FormBuilder $builder, array $options) { parent::buildForm($builder, $options); $builder // about yourself ->add('firstname', 'text', array('attr' => array('placeholder' => 'First name'))) ->add('lastname', 'text', array('attr' => array('placeholder' => 'Last name'))) ->add('phone', 'text') ->add('email', 'email') ->add('civility', new CivilityType()) ->add('nationality', new NationalityType()) ->add('birthday', 'date') // school ->add('school', new SchoolType()); }
mon twig :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function buildForm(FormBuilder $builder, array $options) { $builder ->add('civility','entity', array( 'label' => 'Civility', 'class' =>'monsite\\UserBundle\\Entity\\Civility', 'property' => 'libel', 'query_builder' => function(EntityRepository $er) { return $er->createQueryBuilder('c'); } )); }
ma route :
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 {% extends "::base_menuleft_account.html.twig" %} {% block body %} <form action="{{ path('mon_site_user_me') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register"> <div>Join Us !</div> <div class="#"> About yourself {{ form_errors(form.firstname) }} {{ form_widget(form.firstname) }} {{ form_errors(form.lastname) }} {{ form_widget(form.lastname) }} {{ form_errors(form.phone) }} {{ form_widget(form.phone) }} {{ form_errors(form.email) }} {{ form_widget(form.email) }} {{ form_errors(form.civility) }} {{ form_widget(form.civility) }} {{ form_errors(form.nationality) }} {{ form_widget(form.nationality) }} {{ form_label(form.birthday) }} {{ form_errors(form.birthday) }} {{ form_widget(form.birthday) }} {{ form_rest( form ) }} <input type="submit" value="{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}"> </div> </form> {% endblock body %}
mon controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 mon_site_user_me: pattern: /monBoard/Me defaults: { _controller: monsiteUserBundle:monBoard:me }
Mon erreur :
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 public function meAction() { if(!$this->get('security.context')->isGranted('ROLE_USER')) { throw new AccessDeniedHttpException('Accès limité aux auteurs'); } else { $userManager = $this->get('fos_user.user_manager'); $userCurrent = $this->container->get('security.context')->getToken()->getUser(); $user = $userManager->findUserBy(array('username' => $userCurrent)); $form = $this->createForm(new UserType($this->getDoctrine()->getEntityManager()), $user); $formHandler = new UserHandler($form, $this->get('request'), $this->getDoctrine()->getEntityManager()); var_dump($user); if($formHandler->process()) { return $this->redirect( $this->generateUrl('mon_site_user_me', array('id' => $user->getId())) ); } return $this->render('monsiteUserBundle:monBoard:me.html.twig', array('form' => $form->createView())); } }
Neither property "civility" nor method "getCivility()" nor method "isCivility()" exists in class "monsite\UserBundle\Entity\Civility"
Je ne comprends pas très bien pourquoi il fait un getCivility dans la classe civility ! Qu'est ce que je fais de mal ?
Merci de votre aide![]()
Partager