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

PHP & Base de données Discussion :

question PDO nouveau enregistrement avec table associatif [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut question PDO nouveau enregistrement avec table associatif
    Bonjour,

    je commence depuis peu les class php5 avec pdo et la j'ai créer une class pour une table associatif entre ma table membre et groupe.

    Car un membre peu a partenir a + groupe.
    un groupe peut appartenir a + membre


    mais voila dans tout mes classe pour verifier que c etait la fonction add ou update que j'utiliser je faisait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /**
    		* Méthode permettant de savoir si la categorie est nouvelle
    		* @return bool
    		*/
    	public function isGroupeMembre()
    	{
     
    		return (empty($this->ref_membre));
    	}
    si id alors existe deja.
    mais ma table est compose de ref_membre et ref_groupe.

    Donc il me met en update alors que c est un ajout je n'ai plus de point de repere pour lui indiquer que c est ajout.
    merci de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public function saveGroupeMembre(GroupeMembre $groupeMembre)
            {
                if ($groupeMembre->isValid())
                {
                    $groupeMembre->isGroupeMembre() ? $this->addGroupeMembre($groupeMembre) : $this->updateGroupeMembre($groupeMembre);
                }
                else
                {
                    throw new RuntimeException('Le groupe doit être valide pour être enregistrée');
                }
            }

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonjour,

    vu qu'il s'agit d'une table associative, il me parait incohérent de faire un update en se basant sur un simple test de présence du membre.
    je crois qu'il te faut tester la présence du membre ET du groupe dans la table, si l'association n'existe pas alors tu fais une insertion. (l'update ne sert a rien dans ce cas)


  3. #3
    Membre habitué
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Points : 149
    Points
    149
    Par défaut
    MERCI J'ai fait ce que tu m'a dit cela fonctionne.

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

Discussions similaires

  1. [2008R2] Dupliquer un enregistrement avec table liée
    Par Piou2fois dans le forum Développement
    Réponses: 17
    Dernier message: 04/12/2013, 14h30
  2. Question sur les fonctions avec "TABLE" comme param. de retour
    Par Alex01 dans le forum Développement
    Réponses: 2
    Dernier message: 17/11/2008, 09h26
  3. Réponses: 6
    Dernier message: 28/05/2008, 20h17
  4. Enregistrement de tables avec numéro croissant
    Par bernard6 dans le forum MATLAB
    Réponses: 3
    Dernier message: 23/04/2007, 09h24
  5. Réponses: 6
    Dernier message: 06/04/2007, 14h14

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