使用Codeigniter方法时自定义错误,例如多于1条记录

时间:2011-09-01 18:39:39

标签: codeigniter error-handling

我有一个codeigniter应用程序。

我的控制器调用方法的函数。 我正在检查它试图选择的行是否实际存在,然后分别将true(和数据)或false(和错误消息)返回给我的控制器。

在我的控制器中,有多个对此功能的调用。

如果所有这些方法调用都返回true,我只想加载'success'视图。 否则我想显示错误..

鉴于我想在我的布局中显示错误,我可以简单地创建一个错误视图并向其传递错误消息..如果有多个错误我想要全部显示它们。

这是否是正确/最有效的方法:

if($resultone['result'] == FALSE or $resulttwo['result'] == FALSE)
{
    $data['error']['0']=$resultone['error'];
    $data['error']['1']=$resulttwo['error'];

    $this->load->view('custom_error',$data);
} else {
    //load success view
}

1 个答案:

答案 0 :(得分:1)

我宁愿这样做:

$data = array(
  'data'   => array(),
  'errors' => array()
);
...
$result = call_that_function($arg1);
if (isset($result['error'])) {
  $data['errors'][] = $result['error'];
} else {
  $data['data'][] = $result['data'];
}
...
$result = call_that_function($arg2);
if (isset($result['error'])) {
  $data['errors'][] = $result['error'];
} else {
  $data['data'][] = $result['data'];
}
...
$result = call_that_function($arg3);
if (isset($result['error'])) {
  $data['errors'][] = $result['error'];
} else {
  $data['data'][] = $result['data'];
}
...
if (count($errors['errors']) > 0) {
  $this->load->view('custom_error',$data);
} else {
  $this->load->view('success',$data);
}