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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    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 émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    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 : 48
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 703
    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.

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 32
    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 confirmé
    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
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

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


+ 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