Laravel 自定义findOrFail错误消息中的ExceptionHandler

Laravel 自定义findOrFail错误消息中的ExceptionHandler,laravel,eloquent,Laravel,Eloquent,大家早上好 拉威尔v7+ 我犯了一个错误 $user = User::findOrFail($id); 在我的控制器上,它运行良好,但当我没有结果时,它会将我发送到404页面。 我想能够做一个错误消息返回。 有些人在谈论试捕。 您还有其他需要优化的解决方案吗 谢谢,你好,呆在家里 尝试/捕获的替代方案 $user = User::find($id); if(!$user){ return redirect()->back()->with(['error' => 'Er

大家早上好

拉威尔v7+

我犯了一个错误

$user = User::findOrFail($id);
在我的控制器上,它运行良好,但当我没有结果时,它会将我发送到404页面。 我想能够做一个错误消息返回。 有些人在谈论试捕。 您还有其他需要优化的解决方案吗


谢谢,你好,呆在家里

尝试/捕获的替代方案

$user = User::find($id);
if(!$user){
    return redirect()->back()->with(['error' => 'Error message']);
}

... your other logic here

如果仅在单个控制器中出现此问题,则可以使用
try
catch

如果需要更通用的解决方案,可以在
ModelNotFoundException

public function render($request, Throwable $exception)
{
    if ($exception instanceof ModelNotFoundException) {
        return response()->view('errors.custom', [], 404);
    }

    return parent::render($request, $exception);
}
看,这可能会有帮助。