Как я могу вернуть данные json при исключении laravel catch? Я хотел бы вернуть данные Json, когда данных в базе данных не существует.Как я могу вернуть данные json, когда исключение исключения Laravel 5?
Когда laravel нашел запись из базы данных, он вернет правильные данные json.Yeah! Если laravel не может выполнить поиск в любой записи, он не дает json-данных! laravel просто перенаправил страницу, на которой отображается «Упс, похоже, что что-то пошло не так». и предоставить дополнительную информацию «ModelNotFoundException».
Следующий код - это то, что я пробовал.
public function show($id)
{
try {
$statusCode = 200;
$response = [
'todo' => []
];
$todo = Todo::findOrFail($id);
$response['todo']= [
'id' => $todo->id,
'title' => $todo->title,
'body' => $todo->body,
];
} catch(Exception $e) {
// I think laravel doesn't go through following exception
$statusCode = 404;
$response = [
"error" => "You do not have that record"
];
} finally {
return response($response, $statusCode);
}
}
Попытка поймать исключение, как это: 'улов (Осветите \ Database \ Eloquent \ ModelNotFoundException $ е)' – user3714582
Я пытался, но ничего не поймать. Поэтому я изменил его на условие. Я знаю, что это не идеально, но, по крайней мере, он возвращает json ... Я попробую вашу идею. Может быть какой-то класс исключения ... Я думаю .... – idpokute