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

ORM PHP Discussion :

Message d'erreur : "The root class of the query (alias fu) must have at least one field selected."


Sujet :

ORM PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 30
    Points
    30
    Par défaut Message d'erreur : "The root class of the query (alias fu) must have at least one field selected."
    Bonjour

    voici ma requête en sql elle marche parfaitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
    fonctionnalites.lib_fonctionnalite
    FROM
    fonctionnalites_utilisateurs,fonctionnalites
    where fonctionnalites.id_fonctionnalite = fonctionnalites_utilisateurs.id_fonctionnalite
    and fonctionnalites_utilisateurs.id_utilisateur = 35
    mais lorsque je la fait avec doctrine j'ai cette erreur :
    "The root class of the query (alias fu) must have at least one field selected."

    voici la requete que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function getFeatureByUser($id_utilisateur)
        {
            $q = Doctrine_Query::create()
                ->select('f.lib_fonctionnalite')
                ->from('FonctionnalitesUtilisateurs fu ,Fonctionnalites f ')
                ->where('fu.id_fonctionnalite = f.id_fonctionnalite')
                ->andWhere('fu.id_utilisateur = ?',$id_utilisateur);
     
            return $q->execute();
        }
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Sans le shema.yml il est difficile d'aller loin dans les explications.

    Le message d'erreur est simple : "The root class of the query (alias fu) must have at least one field selected." -> "La classe de base de votre query (alias fu) doit avoir au moins un champ sélectionné (dans le select)".

    Ce qui se confirme à la lecture du code dql de ta requête, la déclaration select() ne fait référence qu'à l'objet "fonctionalites". Avec doctrine tu travailles sur des objets, pas des tables. Une requête en DQL est basée sur un objet, l'objet root. Il doit figurer dans le retour pour permettre un accès aux objets dépendants.

    De plus, dans ta requête tu décris la relation entre les deux objets, relations qui devrais être décrite dans ton modèle, je suppose que ton modèle n'est donc pas fonctionnel au sens doctrine du terme.

    Met ton shema.yml et on trouvera au moins deux solutions et une amélioration

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    merci Michel j'ai résolu le problème

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Fais gaffe à on shema.yml qui me semble un peu bancale.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    D' accord Michel et je te remercie

Discussions similaires

  1. [PDO] Afficher les messages d'erreur ou de réussite Class
    Par dancom5 dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 23/10/2013, 09h33
  2. Message d'erreur de type "Unsupported class Version Error"
    Par new_wave dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 04/06/2012, 12h07
  3. Réponses: 0
    Dernier message: 29/09/2009, 17h56
  4. Réponses: 5
    Dernier message: 08/08/2007, 16h51
  5. Réponses: 1
    Dernier message: 17/07/2007, 12h35

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