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 :

Ajout de contact à un User [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut Ajout de contact à un User
    Bonjour,

    Je cherche simplement à ajouter des emails et des numéros de téléphone à un utilisateur.

    Pour cela j'ai deux table MySQL User et Contact.
    J'ai fait les relations oneToMany et ManytoOne afin d'avoir les informations dans les deux sens.

    Mais je ne sais pas comment m'y prendre pour pouvoir, lors de l'ajout d'un utilisateur, lui ajouter des Contacts par la même occasion ?
    Quel est la bonne méthode ? AJAX (mais l'user n'est pas encore crée ?) ? Formulaire particulier ?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,
    tu peux utiliser un champ de type collection contenant des formulaires imbriqués.
    Pas besoin d'Ajax, par contre un peu de javascript peut être nécessaire.

    http://symfony.com/doc/2.0/book/form...embedded-forms

    http://www.developpez.net/forums/d11...ps-formulaire/

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    Merci pour les deux lien supplémentaire.
    Avec le doc officiel symfony, je n'arrive pas à mes fins...

    D'abord impossible de faire l'ajout. et même la modification n'est pas évidente il essaye de mettre l'objet user en __string et du coup cela ne correspond plus car il s'attend à un objet user.

    Je vais essayer de voir avec les autres liens. Je vous redis.

  4. #4
    Membre éclairé Avatar de EIN-LESER
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    Points : 778
    Points
    778
    Par défaut
    Pour les cardinalités théoriquement un user peut avoir de 0 a N contacts et un contact peut avoir de 1 a N user.

    Ensuite un user est enregistré par un formulaire et les contact peuvent l'etre également par ce biais.

    Pour ce qui est du changement il faut te faire une méthode pour sortir de la base les infos d'un objet user a modifier, modifier l’objet avec les méthodes de sa classe et le réenregistrer en passant par alter par exemple.
    Spécialiste des questions bêtes

    ”If you can't explain it simply, you don't understand it” (Ce que tu ne peux pas expliquer simplement, tu ne le comprends pas) Albert Einstein

    Si une reponse vous plait ou vous a aidé n'hesitez pas a voter pour

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par arnooo999 Voir le message
    Bonjour,
    tu peux utiliser un champ de type collection contenant des formulaires imbriqués.
    Pas besoin d'Ajax, par contre un peu de javascript peut être nécessaire.

    http://symfony.com/doc/2.0/book/form...embedded-forms

    http://www.developpez.net/forums/d11...ps-formulaire/
    Pourquoi avoir supprimer tes liens ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    J'ai bien suivi une procédure Relation multiple : imbriquer un même formulaire plusieurs fois trouvée sur un autre site.

    Malheureusement, impossible d'ajouter.
    Tout ce qui est graphique est ok et javascript aussi. C'est lors de la validation, j'obtiens l'erreur suivante :

    Property "contacts" is not public in class "MyApp\PeopleBundle\Entity\User". Maybe you should create the method "setContacts()"?

    Je ne comprend pas pourquoi il veut passer par la fonction setContacts ...

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 135
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Est ce que tu as bien ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $builder->add('contacts', 'collection', array(
        	'type' => new ContactsForm(),
        	'required' => false,
        	'error_bubbling'=>true,
        	'allow_add'=>true,
        	  'allow_delete'=>true,
        	'prototype'=>true,
      
        	));
    De plus dans ta classe user as-tu rajouter sur l'attribut contacts:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cascade={"persist", "remove", "merge"}, orphanRemoval=true
    Si tout sa a été fait essaye de rajouter Et si sa marche pas je te conseil de créer la fonction setContacts
    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
     
    public getAdresses(){
    	return $this->adresses;
    }
    /* ajoute la référence à profil dans l'adresse*/
    public function addAdress(Adress $adress){
    	$adress->setProfil($this);
    	$this->adresses[]=$adress;
    }
    // function qui sera appelé par le formulaire*/
    public function setAdresses($listOfAdress){
    	$this->adresses=new \Doctrine\Common\Collections\ArrayCollection();
    	foreach($listOfAdress as $adress){
    		$this->addAdress($adress);
    	}
    }
    va voir la http://www.developpez.net/forums/d11...ps-formulaire/

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    Merci pour l'info. Je teste cela la plus vite possible et je fais un retour.


  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    Points : 14
    Points
    14
    Par défaut
    J'ai était obligé de crée la fonction setContact mais tout fonctionnement maintenant.

    Merci bcp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'ajout de contact sur Windows Live Messenger
    Par maadadi dans le forum Messagerie instantanée
    Réponses: 6
    Dernier message: 20/09/2009, 09h08
  2. Ajout de contact à liste de distribution
    Par sylvain_g dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 05/10/2007, 11h28
  3. VBS Ajouter un "Contact" AD dans un groupe
    Par LordVenom dans le forum VBScript
    Réponses: 1
    Dernier message: 27/03/2007, 09h00
  4. Gestionnaire d'adresse: ajouter un contact à un groupe
    Par Touareg dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/03/2007, 16h01
  5. Ajouter un contact MSN
    Par Are-no dans le forum Langage
    Réponses: 2
    Dernier message: 08/08/2006, 02h50

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