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

Symfony PHP Discussion :

problème requete dql [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 586
    Par défaut problème requete dql
    Bonjour à tous je suis sur un projet de bibliothèque j'ai un problème de requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public function findByretard()
        {
    	   $today = date("Y-m-d H:i:s");  
            $query = $this->getEntityManager()
                      ->createQuery("SELECT * FROM Inscrit l
    								JOIN Emprunt e
    								ON l.id = e.inscrit_id
    								WHERE l.dateFin > ".$today."
    								");
        return $query->getResult();
        }
    je veux ici récupérer les emprutn et inscrit ou la date de fin d'un emprunt est est inférieur à la date courante mais cela ne fonctionne pas voici mon erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Syntax Error] line 0, col 7: Error: Expected IdentificationVariable | ScalarExpression | AggregateExpression | FunctionDeclaration | PartialObjectExpression | "(" Subselect ")" | CaseExpression, got '*'
    pourriez-vous m'aider merci d'avance bonne soirée cordialement.

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    yooooooooooooo maaaaaaaaaaaaan rastaaaaaaaaaafariiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii,


    tu as beaucoup de problème en ce moment


    c'est normal mec il faut préciser un truc comme ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT e.* ....       (au lieu de SELECT * ...)

  3. #3
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 586
    Par défaut
    Merci encore pour votre aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public function findByretard()
        {
    	   $today = new \DateTime("now") ;
            $query = $this->getEntityManager()
                      ->createQuery("SELECT e.* FROM Inscrit l
    								JOIN Emprunt e
    								ON l.id = e.inscrit_id
    								WHERE l.dateFin < ".$today."
    								");
        return $query->getResult();
        }
    cela me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Catchable Fatal Error: Object of class DateTime could not be converted to string
    cela vient du datetime , et j'ai aussi l'erreur suivante si j'enlève le datetime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       $today = new \DateTime("now") ;
            $query = $this->getEntityManager()
                      ->createQuery("SELECT e.* FROM Inscrit l
    								JOIN Emprunt e
    								ON l.id = e.inscrit_id
    								"
    								");
        return $query->getResult();
        }
    j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Semantical Error] line 0, col 16 near 'Inscrit l
    JOIN': Error: Class 'Inscrit' is not defined.
    je suppose ma requête est mal écrite pourriez-vous m'aider.

  4. #4
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    hééé maaaaan tu as zappé le cours ? ou quoi

    déjà regarde cette exemple qu'on trouve partout sur les tutos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $em = $this->getDoctrine()->getManager();
    $query = $em->createQuery(
        'SELECT p
        FROM AcmeStoreBundle:Product p
        WHERE p.price > :price
        ORDER BY p.price ASC'
    )->setParameter('price', '19.99');
     
    $products = $query->getResult();
    dans ton code, t'as pas oublié un truc au niveau du FROM ?



    pour le datetime, c'est expliqué dans le message d'erreur :
    Catchable Fatal Error: Object of class DateTime could not be converted to string

    tu as vu ? le soucis ?

  5. #5
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 586
    Par défaut
    Il me manquer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BibBiblioBundle:Inscrit
    au niveau du from, le datetime j'ai compris que le datetime est un objet est pas un string mais comment récupérer la date actuel et pouvoir la comparer avec le datetime de ma base, faut-il que j'utilise ?

  6. #6
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    yep, format renvois un format String

    et le format que tu va choisir est bien sur le format attendu par mysql , par ex "dd-mm-yyyy" n'est pas bon car c'est le format Français.... off course !

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

Discussions similaires

  1. problème requete asp
    Par bichonjp dans le forum ASP
    Réponses: 5
    Dernier message: 08/09/2005, 12h05
  2. Problème requete update
    Par krfa1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/03/2005, 08h47
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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