Wednesday, March 16, 2022

[FIXED] CakePHP how to set a message from Model?

Issue

I'm trying to send a specific message from Model in beforeSave() method. Flash messages don't work. I could send this message from Controller and use some parameters but I don't this this best solution. Use of print isn't good either.

So my question is how to send any message to controller/view from model?


Solution

You have to bubble an error message, try this

in your model :

public function beforeSave($options = array()){
    if($not_ok){
        $this->error = __('My error message');
        return false;
    }
    return true;
}

in your controller :

public function add(){
    $save = $this->Modelname->save($this->request->data);
    if(!$save){
        $this->Session->setFlash($this->Modelname->error);
        $this->redirect($this->referer());
    }
}


Answered By - BenJsno

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.