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 :

[Doctrine] Primary key et récupération des champs dans requête


Sujet :

PHP & Base de données

  1. #1
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut [Doctrine] Primary key et récupération des champs dans requête
    Bonjour,

    Pourquoi dans une requête toute simple genre un 'select' de deux trois champs mais pas de la clé primaire, je me retrouve systèmatiquement avec le champ contenant la clé primaire dans mon résultat ?

    Ex pour être plus claire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            $req = Doctrine_Query::create()
                ->select('resp, pool, tvU.id, tvU.nom, tvU.prenom, tvU.courriel')
                ->from('TvUtilisateurTvComposante tvUC')
                ->innerJoin('tvUC.idUtilisateur tvU')
                ->where('idComposante=1');
     
    $listeUtilisateurs = $req->execute();
    Alors j'obtiens dans $listeUtilisateurs pour chaque enregistrement la clé primaire de la table TvUtilisateurTvComposante
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    je dirai parce que doctrine est prévoyant.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    je dirai parce que doctrine est prévoyant


    Tellement prévoyant que je suis tombé sur ce problème (qui n'est pas forcement un) parceque sur cette jointure l'id est du même nom que l'alias 'idUtilisateur' de la relation entre tvUC et tvU et ça a mis la pagaille !!!

    J'avais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            $this->hasOne('tvUtilisateur as idUtilisateur', array(
                 'local' => 'idUtilisateur',
                 'foreign' => 'id'));
    et j'ai du modifier le nom de l'alias en aUtilisateur pour que ça marche. (merci encore pour la génération des classes de shema.yml )

    Celà dis je sais tjs pas pour les index en retour dans ma liste de résultat
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

Discussions similaires

  1. [AC-2000] Séparer des champs dans requête
    Par falco- dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/06/2010, 12h59
  2. Réponses: 0
    Dernier message: 22/03/2010, 14h17
  3. Réponses: 6
    Dernier message: 08/04/2008, 13h17
  4. Réponses: 3
    Dernier message: 27/09/2006, 19h50
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 10h31

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