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

Symfony PHP Discussion :

Comment ajouter une entité dans une collection via un formulaire ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2018
    Messages : 28
    Par défaut Comment ajouter une entité dans une collection via un formulaire ?
    Bonjour à tous,

    J'ai vraiment besoin de votre aide sur un de mes projets personnels.

    Je crée une application qui possède 2 roles : => Un role de gestionnaire
    => Un role d'entreprise



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder
                ->add('firstName', TextType::class, $this->getConfiguration("Prénom", "Veuillez indiquer ici votre prénom"))
                ->add('lastName' , TextType::class, $this->getConfiguration("Nom", "Veuillez indiquer ici votre nom"))
                ->add('email',     EmailType::class, $this->getConfiguration("E-mail", "Veuillez indiquer ici votre e-mail"))
                ->add('picture' ,  UrlType::class, $this->getConfiguration("Url", "Veuillez indiquer ici l'url de votre image"))
                ->add('hash',      PasswordType::class, $this->getConfiguration("Hash", "Veuillez indiquer ici votre mot de passe"))
                ->add('passwordConfirm',      PasswordType::class, $this->getConfiguration("Confirmation de mot de passe", "Veuillez confirmer votre mot de passe"))
                ->add('introduction', TextType::class, $this->getConfiguration("Introduction", "Présentez votre entreprise avec une courte introduction"))
                ->add('description', TextareaType::class, $this->getConfiguration("Description détaillé", "Veuillez présenter ici votre entreprise en détails"))
                ->add('userRoles', CollectionType::class)
                ;
        }

    Ce que je souhaiterais, c'est implémenter correctement le champ user Roles.

    Le champ userRoles est une collection qui est composé d'entité Role.

    Auriez-vous une piste ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Bonjour,

    Pourquoi crées-tu une entité de type rôle? Dans Symfony, il existe le composant security qui permet de gérer les accès pour chaque rôle : https://symfony.com/doc/current/security.html

  3. #3
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2018
    Messages : 28
    Par défaut
    J'ai une relation ManyToMAny entre mon Entity User et mon entity Role

    Il faut bien que mon utilisateur puisse choisir son rôle dans le formulaire d'inscription 😊

    Comment veut tu faire autrement ?

  4. #4
    Membre confirmé Avatar de Skunka
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2018
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2018
    Messages : 135
    Par défaut
    Salut,

    effectivement, Symfony te met à dispotion ce qu'il faut pour gérer les rôles.

    Dans le lien que dubitoph t'as fournis, 4ème partie, Symfony te montre que tu peux mettre un champ 'roles' sur ton entité utilisateur.
    Dans le formulaire d'inscription tu met des radios boutons (par exemple) à la place de ton champs 'userRoles'.
    Dans ton controller d'inscription, avant de persist ton entité user, tu test quel radio bouton est coché puis tu définis manuellement son rôle gestionnaire ou entreprise.

    Tu peux donc te séparer de ton entité Role sauf si d'autres rôles cont s'ajouter par la suite et que tu désires les sauvegarder en base.

    Ainsi tu pourras plus facilement tester le role de l'utilisateur grâce aux fonctions Symfony ou Twig!

  5. #5
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2018
    Messages : 28
    Par défaut
    Je n'avais vraiment pas vu les choses de cette manière.

    Je dois dire que tu m'a bien ouvert les yeux la 😀

    Merci à vous deux

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/01/2018, 14h10
  2. Réponses: 3
    Dernier message: 17/02/2016, 13h58
  3. comment insérer des données dans la table via le formulaire
    Par justintak dans le forum Visual Studio
    Réponses: 1
    Dernier message: 16/10/2009, 15h40
  4. Comment ajouter une ligne à un sous-formulaire?
    Par Leila59 dans le forum IHM
    Réponses: 14
    Dernier message: 17/05/2008, 14h08
  5. Réponses: 5
    Dernier message: 08/05/2006, 22h32

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