Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-05-2015 11:26:49

amelie
Membre
Lieu: Marseille
Date d'inscription: 05-02-2013
Messages: 113
Site web

[Résolu] Count(*) et tablegateway

Voilà j'ai une fonction select toute bête dans ma classe de table :

Code:

[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 ! smile

Dernière modification par amelie (08-06-2015 14:36:19)

Hors ligne

 

#2 20-05-2015 11:52:06

flobrflo
Membre
Lieu: Marseille
Date d'inscription: 26-04-2013
Messages: 376

Re: [Résolu] Count(*) et tablegateway

Yop!

Donc pour être clair et précis, j'ai pas la rep big_smile

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

 

#3 20-05-2015 11:54:30

amelie
Membre
Lieu: Marseille
Date d'inscription: 05-02-2013
Messages: 113
Site web

Re: [Résolu] Count(*) et tablegateway

ha, me suis compliquée la vie.
J'ai injecté dbadapter dans ma classe de table et j'ai fait ça :

Code:

[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 ... big_smile

Dernière modification par amelie (20-05-2015 12:27:49)

Hors ligne

 

#4 20-05-2015 12:07:21

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

Re: [Résolu] Count(*) et tablegateway

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 smile)


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

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