[joomla 2.5] outerjoin()

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] [joomla 2.5] outerjoin()

    Bonjour,

    je suis en train de redévelopper un composant que j'avais fait pour une version 1.5 pour l'adapter à la version 2.5, mais je bloque sur une requête mysql qui contien un LEFT OUTER JOIN, comment fait on les outerjoin pour une 2.5 ?
    j'ai beau y tourner dans tous les sens ça ne fonctionne pas et la doc n'est pas très explicite la dessus
    voici ma query tel que j'ai essayé de la faire:

    Code:
    $query->select('g.id, g.id_soft as numsoft, g.num_lic as numlic, g.date_deb, g.date_fin, g.contrat, g.rowid, s.id_soft');
    				$query->from('#__gestlic AS g');
    				$query->outerjoin('#__gestlic_soft AS s ON g.id_soft = s.id_soft');
                                    $query->outerjoin('llx_societe AS l ON g.rowid = l.rowid');
    				return $query;
    si j'enlève mes 'outerjoin' ça fonctionne
    Merci pour votre aide.

  • #2
    Re : [joomla 2.5] outerjoin()

    Bonjour,

    Normalement outerJoin() devrait fonctionner, sinon join('LEFT OUTER') fonctionne aussi.

    Perso quand il faut utiliser des jointures un peu complexes je l'écris directement sans passer par les méthodes.

    Après il faut faire une
    Code:
    var_dump($query->__toString());
    pour voir ce que donne la requête à la fin.

    Damien
    www.Crac-Design.com

    Commentaire


    • #3
      Re : [joomla 2.5] outerjoin()

      Merci pour ta réponse Damien,

      J'ai trouvé une solution:

      Code:
       $db = JFactory::getDBO();
                      $query = $db->getQuery(true);
                      // Select some fields
      				
      				$query->select('g.id
      								, g.id_soft as numsoft
      								, g.num_lic as numlic
      								, g.date_deb
      								, g.date_fin
      								, g.contrat
      								, g.rowid
      								, g.pc1
      								, g.pc2
      								, g.pc3
      								, s.id_soft
      								, s.nom as nomsoft
      								, s.logo as icon
      								, s.perim
      								, l.nom as client
      								, l.rowid as userid')
      				->from(' #__gestlic AS g')
      				->leftjoin(' #__gestlic_soft AS s ON g.id_soft = s.id_soft')
      				->leftjoin('llx_societe AS l ON g.rowid = l.rowid')
      				->groupby('g.id');
      				return $query;
      Cette formule fonctionne mais je ne comprends pas pourquoi la première que j'ai testé ne fonctionne pas.
      Bizare.

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X