Модель CakePHP: как отобразить сообщение в функции модели - PullRequest
0 голосов
/ 22 декабря 2011

Следующая функция в модели MerryParent возвращает $ merry_parent_id или пустую строку, если она не может их найти.Если он собирается вернуть пустую строку, я хочу остановить это и отобразить сообщение об ошибке в самой модели вместо того, чтобы создать в контроллере команду if then else stmt и отобразить там сообщение об ошибке.Как я могу это сделать?

Я не знаю, как отображать сообщения об ошибках в функции модели.В контроллере я знаю, что я могу использовать $ this-> Session-> setFlash («моя ошибка msg»).Но это не сработает.

Кстати, я пытаюсь придерживаться «подхода тонкого контроллера с толстой моделью».:)

class MerryParent extends AppModel{
    //relationships are displayed here
    //form field validations are displayed here

    function getMerryParentId($email){
        $merry_parent_id=$this->field('id',array('MerryParent.email'=>$email));
        return $merry_parent_id;
                /*instead as return $merry_parent_id, I want
                if ($merry_parent_id!='')
                   return $merry_parent_id;
                else
                   //display error message here. 
    }
}

спасибо.

1 Ответ

3 голосов
/ 22 декабря 2011

Вы не должны отображать ошибки через модель.Если вы хотите отобразить что-то только для целей тестирования, вы можете отладить () это в модели ... и т. Д., Но в целом вы должны использовать обычную структуру MVC и использовать модель для извлечения данных, а контроллер - дляобрабатывать его и отображать его.

«Модель жира / тощий контроллер» очень полезна в качестве руководства, но если вы слишком далеко ее придерживаетесь и перестаете следовать более важной структуре MVC,это не очень хорошая вещьЭто не означает, что «жирная модель / пустой контроллер».:)

...