Пользовательские ошибки, например, более 1 записи при использовании метода Codeigniter - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть приложение codeigniter.

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

В моем контроллере есть несколько вызовов этой функции.

Я хочу загрузить представление «success», только если все эти вызовы метода возвращают true.В противном случае я хочу отобразить ошибку ..

Учитывая, что я хочу показать ошибку в моем макете, я мог бы просто создать представление об ошибке и передать ему сообщение об ошибке .. если есть несколько ошибок, которые я хочучтобы отобразить их все ..

Правильный / самый эффективный способ сделать это просто:

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 Ответ

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

Я бы лучше сделал это:

$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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...