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

Doctrine2 PHP Discussion :

Récupérer uniquement l'id d'une relation Many To One


Sujet :

Doctrine2 PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 81
    Points : 56
    Points
    56
    Par défaut Récupérer uniquement l'id d'une relation Many To One
    Bonjour à tous,

    J'aimerai savoir si il est possible, lors d'une relation Many To One, de récupérer uniquement l'id de la relation.

    Cette question est uniquement pour des problématiques de performance, en fait dans certains cas j'ai besoin de récupérer l'objet, dans d'autres uniquement l'id.
    Dans les cas ou je n'ai besoin uniquement de l'id, ça me gène de récupérer l'objet entièrement pour ensuite récupérer son id avec un getId(). Je trouve ça lourd pour rien...

    J'aimerai savoir si il existe un moyen propre de gérer ce cas de figure ? Je n'ai trouvé aucun sujet sur ça dans la documentation officielle de doctrine...

    Merci.

  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
    Si tu consultes le code des classes Proxy généré dans app/cache/prod/Doctrine/Proxies, on voit que normalement l'entité Proxy (qui remplace une entité non chargé) ne provoque pas de requete supplémentaire si l'on cherche à récupérer uniquement l'id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function getId()
        {
            if ($this->__isInitialized__ === false) {
                return (int) $this->_identifier["id"];
            }
            $this->__load();
            return parent::getId();
        }
    au contraire des autres attributs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public function getDate()
        {
            $this->__load();
            return parent::getDate();
        }
    il s'agit du code généré par une installation Symfony2.1 avec Doctrine 2.3, mais peut-être utilises-tu une version plus ancienne

    Cela dit tu peux également mapper ta clé étrangère en plus de la relation, mais cet attribut "clé étrangère" doit être en lecture seule ( pas de setter, voir les autres post récents dans ce forum)).

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 81
    Points : 56
    Points
    56
    Par défaut
    Oui malheureusement le projet sur lequel je bosse n'est pas avec la version 2.1 de SF2 et je peux pas le mettre à jour pour le moment...

    Par contre je n'ai pas réussi à trouver d'autres post sur le sujet je vais mieux chercher ;-)

    Merci de ta réponse.

  4. #4
    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

Discussions similaires

  1. Problème de persistance avec une relation many-to-one
    Par cb-06 dans le forum Doctrine2
    Réponses: 3
    Dernier message: 28/11/2012, 16h24
  2. Récupérer données dans une relation many to one
    Par phpestpuissant dans le forum Seam
    Réponses: 1
    Dernier message: 17/10/2012, 00h08
  3. Réponses: 0
    Dernier message: 12/02/2012, 17h02
  4. Réponses: 2
    Dernier message: 12/03/2010, 16h10
  5. problème de jointure dans une relation many to one
    Par info_plus dans le forum JPA
    Réponses: 1
    Dernier message: 25/12/2008, 12h29

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