IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Symfony 2 - FOSUserBundle - Ajouter un champ bdd


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Symfony 2 - FOSUserBundle - Ajouter un champ bdd
    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 }
    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
    Merci d'avance

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut app/config:security.yml
    Peut être que mon erreur vient du fichier app/config/security.yml ?

    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
     
    # app/config/security.yml
    security:
        encoders:
            FP\UserBundle\Entity\User: sha512
     
        # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
        providers:
            main:
                id: fos_user.user_provider.username
            in_memory:
                memory: ~
     
        firewalls:
            # disables authentication for assets and the profiler, adapt it according to your needs
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
     
            main:
                pattern:        ^/
                anonymous:      true
                provider:       main
                form_login:
                    login_path: fos_user_security_login
                    check_path: fos_user_security_check
                logout:
                    path:       fos_user_security_logout
                    target:     /
                remember_me:
                    key:        %secret%

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/02/2015, 16h18
  2. [2.x] FOSUserBundle:register ajout de champs
    Par sisi2014 dans le forum Symfony
    Réponses: 7
    Dernier message: 18/05/2014, 19h09
  3. [MySQL] Recuperer la date du jour au format souhaité et l'ajouter à un champ de BDD
    Par artenis dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/04/2012, 15h49
  4. [2.x] Ajouter des champs à partir de FOSUserBundle mais comment ?
    Par Guldil dans le forum Symfony
    Réponses: 1
    Dernier message: 13/12/2011, 14h58
  5. [CR] Ajouter un champ BDD dans un champ texte
    Par NR dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/11/2007, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo