Salut =)
Voila j'ai la requête suivante :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select LEFT(v.cp, 2) as dept, count(*) from villes as v join prestations as p on p.ville_id = v.id group by LEFT(v.cp, 2)
qui fonctionne et m'affiche le nombre de villes dans chaque département mais je n'arrive pas à l'écrire avec le "langage" zend ? c'est surtout le select left() qui m'embête sous zend.
Voilà mon code :
Mais dans ce code je n'utilise pas la même requete que celle voulue avec : select left (villes.cp, 2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = new Zend_Db_Select($db); $select->reset(); $select ->from(array('v'=>'villes'),array('cp','somme'=>'COUNT(*)')) ->joinRight(array('p'=>'prestations'), 'p.ville_id = v.id',array('')) ->group('v.cp'); //->order(array('somme DESC')); //$this->view->message = $select; //$this->view->paginator = $db->fetchAll($select); $adapter = new Zend_Paginator_Adapter_DbSelect($select); $paginator=new Zend_Paginator($adapter); $paginator->getTotalItemCount(); $paginator->setItemCountPerPage($this->_getParam('nb', 20)); $paginator->setCurrentPageNumber($this->_getParam('page',1)); $this->view->totalresults=$paginator->getTotalItemCount(); $this->view->paginator = $paginator;
Quelq'un sait comment faire?
Merci
Partager