gpt4 book ai didi

php - 模型注入(inject) Controller 的 Laravel 自定义错误

转载 作者:行者123 更新时间:2023-12-03 07:49:46 25 4
gpt4 key购买 nike

所以我遇到了一个我无法完全解决的问题,并且不知道我应该从哪里开始。

我知道 Laravel 有一个不错的 findOrFail()功能,但我似乎无法在我的情况下使用它。因此,例如,我有如下路线:

Route::get('user/{user}', 'UserController@show);

我的 Controller
public function show(User $user)
{
//never reaches this section
}

现在这通常可以工作,但是如果记录不存在,Laravel 在我进入函数之前会抛出错误。是否有一种很好且简单的方法可以在不更改我的功能的情况下捕获错误
public function show($id)
{
$user = User::findOrFail($id)
}

我发现在我的函数参数中包含用户类并且不希望在那里删除它会更好。

最佳答案

根据 the Laravel Docs for Route Model Binding (向下滚动到“自定义“未找到”行为”标题):

If you wish to specify your own "not found" behavior, pass a Closure as the third argument to the model method:

$router->model('user', 'App\User', function () {
throw new NotFoundHttpException;
});

早些时候,他们指定了该代码的放置位置:

You should define your model bindings in the RouteServiceProvider::boot method.

关于php - 模型注入(inject) Controller 的 Laravel 自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38362164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com