Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-05-2015 13:35:40

yasmina
Nouveau membre
Date d'inscription: 26-04-2015
Messages: 9

affichage requête jointure zend 2 et php5

Bonjour,
j'ai un problème lors de l'affichage du résultat du requête de jointure avec zend 2 et la structure MVC; c-à-d j'ai dans la classe MonModule\Model\ArticleTable la fonction de jointure :

Code:

[lang=php]
public function getTrackByArticleId($id)
   {
        $sql = new Sql($this->adapter);
        $select = $sql->select();
        $select->from($this->table)
              ->join('article', 'produit.id_art = article.id');
 
        $where = new  Where();
        $where->equalTo('id_art', $id) ;
        $select->where($where);
 
        //you can check your query by echo-ing :
        // echo $select->getSqlString();
        $statement = $sql->prepareStatementForSqlObject($select);
        $result = $statement->execute();
 
        return ViewModel($result);
    }

et lorsque je veut afficher le résultat dans la vue ne marche pas:

echo $this->escapeHtml($result->nom_produit);?>

s-v-p m'aider :roll:

Hors ligne

 

#2 15-05-2015 12:15:54

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

Re: affichage requête jointure zend 2 et php5

Bonjour,

Si j'ai bien compris ton post, tu es dans ta couche modèle, et tu retourne un objet ViewModel. Déjà c'est pas bien bon d'avoir un retour d'un objet de type "vue" dans son modèle, c'est plus du travail du contrôleur que de gérer cet aspect là. Je ne vois rien dans ta requête qui me semble anormal, à mon avis c'est plus de l'ordre que ta vue ne récupère pas le retour de ta requête.

Si tu peux nous coller ton action du contrôleur.
Que vaut, dans ta vue $result ?


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

Hors ligne

 

#3 15-05-2015 18:38:43

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: affichage requête jointure zend 2 et php5

Hello, le problème vient du faire que tu renvois directement l'objet $result dans ta vue l'objet ViewModel prend en paramètre un tableau ... Et c'est accessoirement un objet ... Donc un new devant c'est mieux parce que là ... Donc déjà si tu fais :

Code:

[lang=php]
return new ViewModel(['result' => $result]);

Tu pourrais au moins dans ta vue faire un $this->result->nom_produit si nom_produit existe évidemment ou $result->nom_produit bien que ça fasse la même chose utiliser $this devant c'est conseillé.

Bref t'aurais pu éviter cette faute si t'avais pris le temps de lire la documentation au lieu de venir demander qu'on te mâche le travail ...

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