Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-07-2015 17:16:11

Footeuz
Nouveau membre
Date d'inscription: 31-07-2015
Messages: 1

Fetchall avec jointure

Bonjour,

Ma question est toute bête mais je suis newbie en ZF et j'ai tenté pas mal de trucs qui marchent pas.
Je veux tout simplement faire un fetchall mais avec un left join dans la requete.
Je suis partie de l'exemple du module Album de la doc.

Mon code dans VideoTable.php  :

Code:

[lang=php]
use Zend\Db\TableGateway\AbstractTableGateway;
use Zend\Db\Adapter\Adapter;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\Sql\Select;

class VideoTable extends AbstractTableGateway
[...]

    public function fetchAll()
    {
        $resultSet = $this->select();

/*    
j'ai tenté entre autre : 
$resultSet = $this->select(function ($select) {
         $select->join(array('a' => 'archiv_artists'), $table.'.id = archiv_artists.id', array('videos'), 'left');
                });*/

        return $resultSet;
    }

J'ai essayé aussi

Code:

[lang=php]
$select = $this->tableGateway->getSql()->select()                    
    ->join(array('a' => 'archiv_artists'), $table.'.id=a.id',array('viewfieldname'=>'joinfieldname'));

Dernière modification par Footeuz (31-07-2015 17:17:53)

Hors ligne

 

#2 03-08-2015 09:10:51

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: Fetchall avec jointure

Bonjour, bienvenue sur le forum.
Je pense que tu as posté dans la mauvaise section du forum, je laisserai le soin a un administrateur de déplacer le sujet dans la bonne section (tu utilise Zf2 si je ne me trompe pas, or tu as posté dans le forum consacré a zf1).

D'autre part, pour plus de lisibilité, pense a utiliser les balise code et lang dans la rédaction de ton message tu pourras ainsi mieux de faire comprendre quand tu colle du code avec la colorisation wink

Ensuite pour ton soucis, je connais très mal tablegateway (utilisateur de doctrine) Mais j'ai cherché un peu sur stack et j'ai trouvé ces liens

http://stackoverflow.com/questions/1481 … blegateway
http://stackoverflow.com/questions/1435 … 6#14371056

Une piste déjà pour démarrer. Ensuite pour mieux t'aider pourrait tu nous donner le SQL que ton code génère ?


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#3 03-08-2015 12:47:10

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: Fetchall avec jointure

Voilà c'est déplacé !

Sinon, d'un point de vue donnée tout ce qui est dans un tablegateway ne te renverras que la tablerow, jamais un objet plus complet, donc tu peux faire une jointure mais pas pour récupérer les données des autres tables, juste pour mettre des conditions complexes.

De manière générale, j'aurais tendance à utiliser la méthode selectWith plutôt que select, avec un objet Sql complexe dedans.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages