"No query results for model [App\\Models\\Role]."
- стандартное ответное сообщение для исключения ModelNotFound
в Laravel.
Лучший способ изменить ответ для исключения, подобного этому, - использовать функцию рендеринга обработчика исключений, чтобы ответить тем сообщением, которое вы хотите.
Например, вы могли бы сделать
if ($e instanceof ModelNotFoundException) {
$response['type'] = "ups!;
$response['message'] = "Could not find what you're looking for";
$response['status'] = Response::HTTP_NOT_FOUND
}
return response()->json(['alert' => $response], $response['status']);
Альтернатива заключается в том, чтобы исключение ModelNotFound
не генерировалось (поэтому при запросе модели используйте ->find()
вместо ->findOrFail()
)
а затем с помощью помощника по прерыванию, например, если результаты не возвращаются:
abort(400, 'Role not found');
или
return response(['alert' => [
'type' => 'ups!',
'title' => 'There is no role with the provided id!']
],400);