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 :

Requête en DQL génèrant un SQL erroné [Doctrine]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Par défaut Requête en DQL génèrant un SQL erroné
    Bonjour à tous,

    Si une âme charitable peut m'aider, qu'elle se manifeste

    Avant tout, voici le schema simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    StockRefProduitLabo:
      columns:
        ref_user_id:  { type: integer, primary: true }
        labo_id:      { type: integer, primary: true }
        quantite:     { type: integer }
      relations:
        Labo: { onDelete: RESTRICT, local: labo_id, foreign: id, foreignAlias: Labos }
        RefUserProduit: { onDelete: RESTRICT, local: ref_user_id, foreign: id, foreignAlias: RefsUtilisateurs }
     
    RefUserProduit:
      columns:
        produit_id:     { type: integer, notnull: true }
        ref_user:      { type: string(50), notnull: true }
        is_active:     { type: boolean, notnull: true, default: 1 } 
      relations:
        Produit: { onDelete: RESTRICT, local: produit_id, foreign: id, foreignAlias: RefUsers }
       StockProduitLabos:
          class: RefUserProduit
          refClass: StockRefProduitLabo
          local: ref_user_id
          foreign: labo_id
          foreignAlias: RefUserProduits
     
    Labo:
      columns:
        numero:         { type: string(50), notnull: true }
        is_active:      { type: boolean, notnull: true, default: 1 }
      relations:
        StockProduitLabos:
          class: RefUserProduit
          refClass: StockRefProduitLabo
          local: labo_id
          foreign: ref_user_id
          foreignAlias: Labos
    Ma requête en DQL :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $query = Doctrine::getTable('RefUserProduit')
                  ->createQuery('r')
                  ->addSelect('r.ref_user, s.quantite')
                  ->leftJoin('r.StockProduitLabos s')
                  ->addWhere('r.produit_id = ?', $request->getParameter('id'))

    Et voilà le SQL généré :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT r.id AS r__id, r.ref_user AS r__ref_user, 
    r2.id AS r2__id, r2.quantite AS r2__quantite 
    FROM ref_user_produit r 
    LEFT JOIN stock_ref_produit_labo s ON (r.id = s.ref_user_id) 
    LEFT JOIN ref_user_produit r2 ON r2.id = s.labo_id 
    WHERE (r.produit_id = ?)

    Ma question est à la fois simple et compliquée : d'où vient donc cette ligne en mauve ???

    Est-ce que je fais une erreur de syntaxe à un niveau quelconque ?

  2. #2
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 30
    Par défaut
    Au temps pour moi ...

    Je viens de voir qu'il y avait une erreur dans le schema.yml ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    RefUserProduit:
      columns:
        produit_id:     { type: integer, notnull: true }
        ref_user:      { type: string(50), notnull: true }
        is_active:     { type: boolean, notnull: true, default: 1 } 
      relations:
        Produit: { onDelete: RESTRICT, local: produit_id, foreign: id, foreignAlias: RefUsers }
       StockProduitLabos:
          class: Labo
          refClass: StockRefProduitLabo
          local: ref_user_id
          foreign: labo_id
          foreignAlias: RefUserProduits
    Ca marche tout de suite mieu une fois corrigé ...

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

Discussions similaires

  1. Rupture connexion BD ou requête SQL erronée
    Par m3allem001 dans le forum JDBC
    Réponses: 2
    Dernier message: 26/12/2014, 13h48
  2. logs de requêtes de lecture sous MS SQL
    Par Dom. C. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/04/2007, 08h44
  3. problèmes requètes sur vieilles versions de SQL TALK (1993)
    Par totogenie dans le forum Langage SQL
    Réponses: 11
    Dernier message: 24/01/2006, 17h58
  4. Postgres : requête à partir d'un fichier .sql
    Par odyssee2 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/08/2005, 12h18
  5. Réponses: 3
    Dernier message: 22/07/2005, 12h12

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