Bonjour,

Comment faire pour récupérer le message d'erreur suite à un save() sur un model qui n'aboutit pas (pas d'enregistrement dans la table) ?
Je suis débutant et j'aimerai comprendre ce qui ne va pas.

merci
Cordialement

3 réponses


Bonjour.
Si tu veux juste retourner un message lorsque la sauvegarde en base de données échoue, il te suffit de retourner un message Flash comme ça par exemple :

public function edit($id = null){
    if ($this->request->is('post') && !empty($this->request->data)) {
        if ($this->Post->save($this->request->data)) {
            $this->Session->setFlash('Sauvegarde effectuée avec succès');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('Une erreur est survenue lors de la sauvegarde');
            $this->redirect($this->referer());
        }
    }
    if ($id) {
        $this->Post->id = $id;
        $this->request->data = $this->Post->read();
    }
}

Je l'ai fait vite fait, juste pour que tu comprennes.

Froggyp
Auteur

C'est plutôt l'info pour du debug que je cherche => savoir ce qui ne va pas dans les données passées lorsqu'il y a échec.

//dans le modèle
$this->set($data);
$this->validates();
$mesErreurs = $this->validationErrors;