阅读(3767)
赞(10)
Laravel 8 「未找到」异常
2021-07-07 10:18:51 更新
有时你希望在未找到模型时抛出异常。这在控制器和路由中非常有用。 findOrFail
和 firstOrFail
方法会检索查询的第一个结果,如果未找到,将抛出 Illuminate\Database\Eloquent\ModelNotFoundException
异常:
$model = App\Models\Flight::findOrFail(1);
$model = App\Models\Flight::where('legs', '>', 100)->firstOrFail();
如果没有捕获异常,则会自动返回 404
响应给用户。也就是说,使用这些方法时,没有必要再写个检查来返回 404
响应:
Route::get('/api/flights/{id}', function ($id) {
return App\Models\Flight::findOrFail($id);
});