laravel findOrFail firstOrFail

Not Found 异常

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

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

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

Route::get('/api/flights/{id}', function ($id) {
    return App\Flight::findOrFail($id);
});

 

posted @ 2019-08-30 09:49  小呆1107  阅读(1462)  评论(0编辑  收藏  举报