Salut,

for($i=0; $i<count($idUsers); $i++) {
                $data'Message'] = array(
                                    'content' => $dd'Message']'content'],
                                    'user_id' => $idUsers$i]
                                    );
                $res$i] = $this->traitement($data);
            }

&

private function traitement($data){
        $res = '';
        if($data){
            $d = $data'Message'];
        }else{
            $d = $this->request->data'Message'];
        }
        //debug($d); die(); exit();
        if(empty($d'content']) ){
            $this->Session->setFlash('Veuillez saisir le message', 'notif', array('type' => 'alert-error'));
            $this->redirect($this->referer());
        }else{
            $msg = $this->Message->find('first', array(
                'conditions' => array('content' => $d'content'])
            ));
            if(!empty($msg)){
                $this->loadModel('MessageUser');
                $messageuser = array();
                $messageuser = array(
                                    'message_id' => $msg'Message']'id'],
                                    'user_id' => $d'user_id'],
                                    'created' => gmdate('Y-m-d H:i:s')
                                );
                $this->MessageUser->save($messageuser);
                    $res = 'ok';
                //debug($d'user_id']);
            }else{
                if($this->Message->save($d))
                    $res = 'ok';
                else
                    $res = 'ko';
            }
        }
        return $res;
    }

mon problème est que on sauvegarde que les champs de la dernière itération ???

3 réponses


Maenhyr
Réponse acceptée

Si j'ai bien compris, tu veux faire une sauvegarde de plusieurs éléments à la fois.

Dans ces cas la, il faut que tu ajoutes

$this->Message->create()

avant ton save() à la ligne 28.

ok prbaron je vais essayer et je te répond.
Merci

@prbaron Merci :)