laravel findOrFail firstOrFail

Not Found 异常

有时候你可能想要在模型找不到的时候抛出异常,这在路由或控制器中非常有用,findOrFail 和 firstOrFail 方法会获取查询到的第一个结果。不过,如果没有任何查询结果,IlluminateDatabaseEloquentModelNotFoundException 异常将会被抛出:

$model = AppFlight::findOrFail(1);  //一定要使用model
$model = AppFlight::where('legs', '>', 100)->firstOrFail();

如果异常没有被捕获,那么 HTTP 404 响应将会被发送给用户,所以在使用这些方法的时候没有必要对返回 404 响应编写额外的检查:

Route::get('/api/flights/{id}', function ($id) {
    return AppFlight::findOrFail($id);
});
原文地址:https://www.cnblogs.com/hanmengya/p/11433305.html