Bonjour à tous,
Je séche sur un comportement que je ne comprends pas.
J'utilise 3 fois une fonction pour récupérer une requête SQL.
Pris unitairement, les valeurs sont correctes mais quand je le fais en boucle, la dernière requête écrase les précédentes !!!
ma fonction:
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 $end = $dateTime()->format('Y-m-d'); $begin = new DateTime($end); $begin->modify("-12 Month"); $opt =Doctrine_core::GetTable('assure_employeur')->derniers_mois($assure->getId(),$begin->format('Y-m-d'), $end)->fetchOne(); echo $opt->getHeure(); $begin = new DateTime($end); $begin->modify("-6 Month"); $opti = Doctrine_core::GetTable('assure_employeur')->derniers_mois($assure->getId(),$begin->format('Y-m-d'),$end)->fetchOne(); echo $opti->getHeure(); $begin = new DateTime($end); $begin->modify("-3 Month"); $_8 = Doctrine_core::GetTable('assure_employeur')->derniers_mois($assure->getId(),$begin->format('Y-m-d'),$end)->fetchOne(); echo $_8->getHeure(); echo $opti->getHeure();
à l'affichage je retrouve
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function derniers_mois($assure_id,$begin, $end ) { $q= $this->queryOD($assure_id); $q->select('a.assure_id, SUM(p.salaire_brut) salaire_brut, SUM(p.salaire_net) salaire_net, SUM(p.heure) heure') ->andWhere('p.mois BETWEEN ? and ?', array($begin, $end)) ->groupBy('a.assure_id') ; return $q; }
80
60
30
30
alors que le dernier devrait être 60 !!!
Partager