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

Zend_Db PHP Discussion :

Mapper deux tables sur une seule classe


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut Mapper deux tables sur une seule classe
    Salut,



    Je me demandais s'il était possible de mapper deux tables sur une seule classe...


    mon exemple :
    + 1 table membres avec id, pseudo, mail
    + 1 table rédacteurs avec membre_id, nom, prenom, site, etc

    je mappe ma classe membre sur la table membres, mais je ne vois pas comment mapper la classe rédacteur qui hérite de la classe membre

    nb : je n'ai pas fait la conception de la bdd, et je ne peux pas la modifier facilement
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    vraiment personne ?
    est-ce si difficile ? ou est-ce que personne ne l'a jamais fait car il s'agit surtout un problème de conception ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je vois pas vraiment où est le problème

    Tu as deux tables dans la base de données, non ? Alors pourquoi tu ne fais pas deux classes (Membre et Redacteur) et tu ne mappes par ça avec 2 modèles (Membres et Redacteur par exemple) ?

    Tu pourrais expliquer un peu plus ton problème ?

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Baptiste Wicht Voir le message
    Tu as deux tables dans la base de données, non ? Alors pourquoi tu ne fais pas deux classes (Membre et Redacteur) et tu ne mappes par ça avec 2 modèles (Membres et Redacteur par exemple) ?

    Tu pourrais expliquer un peu plus ton problème ?

    ben si je fais cela, je ne peux à partir d'un redacteur obtenir son email (qui est stocké dans membre), j'ai parfois besoin des infos qui sont dans membre et dans redacteur pour calculer quelque chose
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par gorgonite Voir le message
    ben si je fais cela, je ne peux à partir d'un redacteur obtenir son email (qui est stocké dans membre), j'ai parfois besoin des infos qui sont dans membre et dans redacteur pour calculer quelque chose
    Ah oki, j'ai compris

    Ouais, c'est pas pratique en effet... Je ne suis pas sûr que ce soit faisable tel quel

    Ce que tu peux faire, dans le modèle Redacteurs qui étend Zend_Db_Table_Abstract, c'est surcharger la méthode _fetch et là dedans rajouter toutes les infos que tu as besoin à ton enregistrement.

    [EDIT] Après, il faudra faire attention à aussi modifier la méthode save() de ton objet pour modifier les données partout.

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    tu crée une vue dans ta base
    qui fait ta jointure et tu mappe ta Zend_Db_Table dessus

    tu redéfini les méthodes d'insertion suppression et de mise à jour
    en faisant une transaction qui insère supprime ou modifie dans les deux table

    et c'est fait

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

Discussions similaires

  1. deux tables vers une seule en Talend
    Par widom dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 10/07/2007, 14h37
  2. Deux tables et une seul liste
    Par cap38 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/05/2007, 14h51
  3. effacer un enregitrement de deux tables en une seule requete
    Par mikebranque dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/10/2006, 13h30
  4. (Performance) Deux tables ou une seule?
    Par Norin dans le forum Access
    Réponses: 26
    Dernier message: 24/06/2006, 20h43

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