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 :

GROUP_CONCAT ne marche pas [ZF 1.11]


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut GROUP_CONCAT ne marche pas
    Bonsoir,
    Je débute avec le ZF et donc le Zend DB.
    Je veux faire la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT `c`.id, GROUP_CONCAT(e.eid SEPARATOR ',') AS eids 
     FROM `tableC` AS `c`
     LEFT JOIN `tableE` AS `e` ON c.id = e.id 
    WHERE (c.id = 1) 
    GROUP BY `c`.`id`

    Et je tourne en rond. Je capte pas pourquoi ça ne fonctionne pas avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $query = $this->getDbTable()->select(false);
    $query->from(array('c' => 'tableC')); 
        	$expression = new Zend_Db_Expr("GROUP_CONCAT(e.eid SEPARATOR ',')");
        	/*Cette ligne plante*/
        	$query->from(array(), array('eids' => $expression));
        	/*Dans la suivante j'ai aussi tenté de remplacer null par mon array('eids' => $expression) au dessu mais non*/
        	$query->joinLeft(array('e' => 'tableE'), 'c.id = e.id',NULL);
    	$query->where('c.id = ?',$id);
        	$query->group('c.id');
    	$result = $this->getDbTable()->fetchAll($query);

    Je vois pas ce qui cloche.
    Si vous avez une petite idée. Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 56
    Par défaut
    Bon j'ai halluciné. Voilà un truc qui marche.
    Ca venait de moi évidemment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $query = $this->getDbTable()->select();
    $query->from(array('c' => 'tableC')); 
        	$query->from(array(), array('c.id','eids' => new Zend_Db_Expr("GROUP_CONCAT(e.eid SEPARATOR ',')")));
        	$query->joinLeft(array('e' => 'tableE'), 'c.id = e.id',NULL);
    	$query->where('c.id = ?',$id);
        	$query->group('c.id');
    	$result = $this->getDbTable()->fetchAll($query);

  3. #3
    Membre éclairé Avatar de zeyr2mejetrem
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Novembre 2010
    Messages
    471
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 471
    Par défaut
    Merci pour ton post car j'ai appris un truc

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

Discussions similaires

  1. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  2. Maximiser fenêtre ne marche pas
    Par sandrinec dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/06/2003, 12h02
  3. Réponses: 9
    Dernier message: 07/05/2003, 12h57
  4. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 10h43
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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