Bonjour à tous
J'ai un petit souci .... Voici mon code :
et le problème vient de :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public function ajaxProcessing($id = null) { // Cas des requêtes AJAX if ( $this->request->is( 'ajax' ) ) { // On récupère le nom à partir de l'id, ceci grâce à une requête en base de données $httpSocket = new HttpSocket(); $url = 'http://*confidentiel*?uid='.$this->request->query[ 'uid' ].'&cuid='.$this->request->query[ 'cuid' ].'&startDate='.urlencode($this->request->query[ 'deb' ]).'&endDate='.urldecode($this->request->query[ 'fin' ]); $result = $httpSocket->get($url); $req = json_decode($result->body); $response = Set::reverse($req); // Stockage des données à renvoyer à la vue dans un tableau if ( $result ){ foreach( $response as $key => $value){ $this->Regularity->Report->save(array('regularity_id' => $id, 'begindate' => $value['startDate'], 'titre' => $value['summary'], 'ref' => $key)); debug($key); } // $ret[ 'summary' ] = $response['SSUP-26864']['summary']; //debug($ret['summary']); } // Il faut penser à terminer le script brutalement pour court-circuiter les mécanismes // de CakePHP (méthodes de la classe mère AppController par exemple) exit(); } else { // Code qui servirait dans le cas de requêtes http classiques (par opposition à AJAX) // Pour nous dans cet exemple, c'est inutile... } }
le debug me montre bien toutes les lignes de mon array, mais le save ne s'applique qu'à la dernière ligne ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach( $response as $key => $value){ $this->Regularity->Report->save(array('regularity_id' => $id, 'begindate' => $value['startDate'], 'titre' => $value['summary'], 'ref' => $key)); debug($key); }
Donc si j'ai 4 entrée dans mon tableau, le debug($key) s'applique bien les 4 fois, mais le save ne s'applique que pour la dernière ligne :/ Quelqu'un aurait une idée svp ?
Cordialement,
Paul !
Partager