Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Voilà j'ai une fonction select toute bête dans ma classe de table :
[lang=php] public function countEnreg() { try { $select = new Select(); $select->from('f_maisite'); $select->columns(array('num' => new \Zend\Db\Sql\Expression('COUNT(*)'))); } catch (\Exception $e) { throw new \Exception($e); } }
Mais diantre ! j'ai configuré mon système de tables avec tablegateway, un peu comme dans le module "albums" qui sert de formation sur le site de zend. Donc du coup, comment je peux exécuter et faire renvoyer ce dont j'ai besoin ? Avec résultset ? mais comment ? Avec resultset je suis obligée d'avoir comme résultat un objet (raccord entre ma classe de Table et son objet correspondant, comme dans le module "albums") mais c'est pas ce que je veux !!!
Merci !
Dernière modification par amelie (08-06-2015 14:36:19)
Hors ligne
Yop!
Donc pour être clair et précis, j'ai pas la rep
Par contre ce monsieur à l'air d'avoir eu la même envie que toi et l'a résolu ^^
http://forums.zend.com/viewtopic.php?f=69&t=114433
Hors ligne
ha, me suis compliquée la vie.
J'ai injecté dbadapter dans ma classe de table et j'ai fait ça :
[lang=php] public function countEnreg(){ $sql = new Sql($this->adapter); $select = new Select(); $select->from('f_maisite'); $select->columns(array('num' => new \Zend\Db\Sql\Expression('COUNT(*)'))); $select->where(array('1'=>'1')); $statement = $sql->prepareStatementForSqlObject($select); $result = $statement->execute(); }
bah, ça marche ...
Dernière modification par amelie (20-05-2015 12:27:49)
Hors ligne
Salut, j'allais répondre mais j'ai été dérangé au taf ! bien joué flobrflo c'était le lien que j'avais en tête !
SI je peux me permettre une petite remarque amelie, tu peux ajouter les balises [ code ][ lang = php] .... [toncode] ... [ / code ] afin d'avoir une colorisation syntaxique et qu'on puisse lire ton code de façon aisé. Comme sur un ide quoi !
(j'ai rajouté les esapces pour pas que le site interprète mes balises, donc pense a les enlever quand tu appliquera ceci )
Hors ligne