Comment faire pour éviter d’insérer un post qui existe déjà en BD si l'utilisateur resoumets le formulaire.
Excusez moi suis débutant en Cakephp.

2 réponses


Tu mets une condition dans ton controller, si le formulaire de l'utilisateur est modifié (post) ou s'il est créé (put).
S'il est créé, tu as une nouvelle entrée dans ta BD, s'il est modifié, il récupére son formulaire, il peut ensuite le modifié et le sauvegardé.

Tu peux regardé le tuto sur cakephp, la section où Grafikart créé les comptes utilisateurs d'un site.
Dedans il crée une fonction profil ou l'utilisateur crée son profil ou peu le modifié par un formulaire.
Inspire toi de cela.

// Au niveau de ton controller
function admin_edit($id=null) {
        if($this->request->is('put') || $this->request->is('post')) {
            if($this->Post->save($this->request->data)) {
                $this->Session->setFlash('La page a été bien modifiée', 'notif');
                $this->redirect(array('action' => 'index'));
            }
        } elseif($id) {
            $this->Post->id = $id;
            $this->request->data = $this->Post->read();
        }

    }