Bonjour,
J'utilise symfony 2 et je voudrais gérer mes utilisateurs avec FOSUserBundle. J'ai mis en place le bundle, tous fonctionne. Seulement, les champs que FOSUserBundle propose ne me suffisent pas. J'aimerais rajouter des champs.
J'ai donc modifié mon Entité qui hérite de FOSUserBundle et ajouter deux champs. J'ai réussi a mettre ces deux champs dans mon formulaire d'inscription (register). Seulement, meme après un php app/console doctrine:schema:update --force les champs rajouté n'apparaissent pas dans ma bdd. Rien a faire, la bdd reste celle par défaut de FOSUserBundle. D'ailleurs c'est assez étrange car après ma commande dans le Terminal, je reçois Nothing to update - your database is already in sync with the current entity metadata. en réponse.
Voici mes fichiers :
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 <?php namespace FP\UserBundle\Entity; use Doctrine\ORM\Mapping as ORM; use FOS\UserBundle\Model\User as BaseUser; use Symfony\Component\Validator\Constraints as Assert; /** * @ORM\Entity */ class User extends BaseUser { /** * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @var string * * @ORM\Column(name="lastname", type="text") */ private $lastname; /** * @var string * * @ORM\Column(name="lastname", type="text") */ private $pays; /** * Get pays * * @return string */ public function getPays() { return $this->pays; } /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set lastname * * @param string $lastname * @return User */ public function setLastname($lastname) { $this->lastname = $lastname; return $this; } /** * Get lastname * * @return string */ public function getLastname() { return $this->lastname; } }
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 <?php namespace FP\UserBundle\Form\Type; use Symfony\Component\Form\FormBuilderInterface; use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; class RegistrationFormType extends BaseType { public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); // add your custom field $builder ->add('lastname') ->add('pays') ; } public function getName() { return 'fp_user_registration'; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 # src/FP/UserBundle/Resources/config/services.yml services: FP_user.registration.form.type: class: FP\UserBundle\Form\Type\RegistrationFormType arguments: [%fos_user.model.user.class%] tags: - { name: form.type, alias: fp_user_registration }Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 fos_user: db_driver: orm firewall_name: main user_class: FP\UserBundle\Entity\User registration: form: type: fp_user_registration
Partager