Если модель codeigniter возвращает 0 строк, отобразить пользовательское сообщение об ошибке. Как распространиться на общий случай? - PullRequest
0 голосов
/ 15 сентября 2011

У меня есть множество функций в моих моделях, которые служат разным целям.

Например, один ищет данные для данной переменной $ _GET в строке URL.

ЯПопытка отработать способ отображения сообщения об ошибке, если в базе данных нет подходящей строки, например, из-за манипулирования строкой URL.

Моей первой идеей было просто вернуть сообщение об ошибке (если есть ошибка) с каждым вызовом функции, а затем просто используйте оператор if, согласно которому при возникновении ошибки отображается представление об ошибке, а если не отображается нормальное представление ..

Проблема в том, что эта функциявызывается в моем контроллере много раз, и в моем коде вызываются другие подобные функции, которые требуют аналогичной обработки ошибок ..

Я не хочу, чтобы миллионы похожих операторов if / else по всему моему коду обрабатывали ошибки ..

У кого-нибудь есть идеи получше?Приветствия

1 Ответ

1 голос
/ 20 сентября 2011

Используйте элемент flashdata класса сеанса. Вы можете объединять сообщения об ошибках и помещать их в элемент flashdata для отображения.

my_function(){
    // code that determines if there is an error returns => $error
    if ($error)
    {
        // concat previous and current errors
        $new_error = $this->session->flashdata('errors') . $error;
        // replace 'errors' with newly concatenated errors
        $this->session->set_flashdata('errors', $new_error);
    }
}

Это позволит отслеживать все ошибки, сгенерированные при каждом запросе, и позволит вам отобразить «список» ошибок для этого конкретного запроса.

echo $this->session->flashdata('errors');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...