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

Zend_Db PHP Discussion :

requête sql à la sauce zend


Sujet :

Zend_Db PHP

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut requête sql à la sauce zend
    Bonjour, j'ai une requête sql à écrire avec zend db, et j'ai pas envie d'écrire la requête en brute, donc voici la requête sql, qui marche:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT *
    from catalogues_index AS i
    INNER JOIN catalogues_element AS e ON i.element_id = e.element_id
    LEFT JOIN catalogues_traduction AS l ON i.element_id = l.element_id AND l.traduction_langue = "US"
    INNER JOIN catalogues_heritage AS h ON i.heritage_id = h.heritage_id
     
    WHERE i.heritage_id IN (
     
    SELECT heritage_id
    FROM catalogues_heritage
    WHERE catalogue_id =6
    )
    AND i.index_type = 1

    Et en zend db, tout passe bien sauf le 'AND' dans le left join:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    return $this->fetchAll($this->select()
                                    ->setIntegrityCheck(false)
                                    ->from(array('i' => 'catalogues_index'))
                                    ->joinInner(array('e' => 'catalogues_element'), 'i.element_id = e.element_id')
                                    ->joinLeft(array('l' => 'catalogues_traduction'), "i.element_id = (SELECT element_id from catalogues_traduction where element_id = i.element_id AND traduction_langue =$lang)")
                                    ->joinInner(array('h' => 'catalogues_heritage'), 'i.heritage_id = h.heritage_id')
     
                                    ->WHERE('i.heritage_id IN (?)', $heritage)
                                    ->WHERE('i.index_type =?', $type_id)
                    )->toArray();
    Oui, j'ai rajouté un 'Select element_id ect ... pour essayer de mieux cerner le problème, et même dans ce cas, il me dis ceci:
    Column not found: 1054 Unknown column 'US' in 'where clause'
    en réponse à AND traduction_langue =$lang sachant que $lang vaut bien US, je comprend pas qu'il interprete ça comme une colonne et non une value Oo
    Et, avant que quelqu'un me le fasse remarquer, il faut que le AND l.traduction_langue = "US" soit bien dans la clause LeftJoin et non pas en where, car le résultat que j'attend c'est un tableau avec des valeurs vide lorsqu'il ne trouve pas de valeure dans ce leftjoin, mais que le leftjoin ne vérifie que les cas où l'identifiant de l'élément est égal à celui du catalogue, et que la langue cherchée est bien 'US'
    (car un élément peut avoir plusieurs traductions possible et je ne veux lister que celles de la langue choisis)

    Quelqu'un peut m'aider à comprendre?

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2012
    Messages : 107
    Par défaut
    oula mais c'est un truc ridicule en faite, juste une histoire de guillemet autour de ma variable que j'avais oublié.

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

Discussions similaires

  1. Requête SQL
    Par Leludo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/07/2024, 15h41
  2. Requête sql + zend framework
    Par saidi.nizar dans le forum Zend Framework
    Réponses: 1
    Dernier message: 20/03/2013, 15h32
  3. [ DB2 ] [ AS400] requête sql
    Par zinaif dans le forum DB2
    Réponses: 6
    Dernier message: 23/08/2008, 19h42
  4. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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