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 :

Relation : l'objet retourné n'est pas l'entité mais un proxy


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut Relation : l'objet retourné n'est pas l'entité mais un proxy
    Bonsoir à tous !

    La situation est plutôt simple : j'ai deux tables avec une relation ManyToOne.

    Lorsque sur mon premier objet je souhaites accéder au second via cette relation $table1->getXX(), j'ai un objet de type "Proxies\...BundleEntity...Proxy" qui est retourné.

    Et si je test plus loin la relation : $table1->getXX()->getId(); où id est un champ de l'objet XXX, j'ai le message d'erreur suivant :
    Entity was not found.
    J'espère que mon explication est clair :s
    Je continue de chercher de mon côté ! Merci d'avance pour votre aide !

  2. #2
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Bonjour,

    Peux tu poster tes entities ainsi que leurs configurations svp ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Voici mes entities (pronostic, game, user) et les structures sql :

    sql : http://pastebin.com/qiaXJiXy
    pronostics : http://pastebin.com/Gn9frPjq
    game : http://pastebin.com/Fn1Ypxpk
    user : http://pastebin.com/ivEJgyRz

  4. #4
    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,
    Il est normal que ta méthode renvoit un objet Proxy.
    les classes Proxy sont des classes qui hérite de tes classes Entité mais qui à la différence de celles-ci ont accés à l'entity Manager.
    Tu trouveras leur définition dans app/cache/{env}/doctrine/orm/Proxies
    Lorsque tu récupères une entité via l'entité manager les relations de ton objet ne sont pas chargés, à la place Doctrine met un objet Proxy qui permetra de récupérer les données de la table associé si cela est demandé dans le programme (c'est le lazy loading).

    Je ne sais pas sur quel relation ton problème se pose, néammoins j'ai remarqué que tu as défini les méthodes _sleep, c'est peut-être la raison de ton problème.
    En raison du fonctionnement interne, il faut faire cela prudemment, consultes cette doc:
    http://docs.doctrine-project.org/en/...-or-clone.html

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Bonjour arnooo999,

    Merci pour ta réponse.

    Mon problème survient lorsque j'utilise $pronostic->getGames().
    Je comprends le problème mais User est utilisé de la même manière et il n'y a aucun problème $pronostic->getUsers().
    Voilà pourquoi je ne comprends (il doit bien y avoir quelque chose de différent, et surtout l'user est une entity particulère).

    Pour les méthodes __sleep, elles ont été ajoutées car au rendu il y avait un problème de serialize (solution trouvée sur l'internet !... )

  6. #6
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Bonsoir,

    Je doutes que tu puisses faire les commandes que t'indique

    Si j'ai bien compris , tu as un user qui a un ou plusieurs pronostique.

    Les Games ont un ou plusieurs pronostiques.

    Je te laisse regarder les relations que tu as dans tes entities, elles ne sont pas bonnes du tout. Une indice la relation entre pronostic et game ne pointe pas correctement.

    Allez, je suis d'humeur taquin, ce soir, je te laisse chercher un peu.

    Vas sur le tutoriel symfony , tu trouveras toute explication sur les doctrine et les relations très bien faite.

Discussions similaires

  1. Construire un objet qui n est pas une chaine de caractères
    Par adel25 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/11/2013, 10h57
  2. [XL-2002] L'objet "Screen" n'est pas définit
    Par Maze0 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/03/2012, 22h42
  3. NoMethodError sur nil:NilClass pour un objet qui n'est pas nil
    Par Bestiol dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 11/10/2010, 22h36
  4. Réponses: 4
    Dernier message: 26/01/2010, 11h48
  5. (Oracle 9i, Windows 2003) L'objet à décrire n'est pas valide
    Par J2EVBA dans le forum Administration
    Réponses: 4
    Dernier message: 04/08/2008, 18h42

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