如果codeigniter模型返回0行,则显示自定义错误消息。如何扩展到一般情况?

时间:2011-09-15 11:44:13

标签: codeigniter error-handling models

我的模型中有各种各样的功能,用于不同的目的。

例如,查找URL字符串中给定$ _GET变量的数据。

如果由于url字符串操作导致数据库中没有匹配的行,我试图找出一种显示错误消息的方法。

我的第一个想法只是在每次调用函数时返回一条错误消息(如果有错误),然后只需要一个if语句,如果出现错误,则会显示错误视图,如果不是,正常视图显示..

问题在于我的控制器中多次调用此函数,并且在我的代码中调用其他类似函数,这些函数需要类似的错误处理。

我不想在我的代码中使用数百万个类似的if / else语句来处理错误。

有人有更好的想法吗? 干杯

1 个答案:

答案 0 :(得分:1)

使用会话类的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');