我该如何返回记录不可用的错误消息?

脚本情人

我正在尝试获取用户用车,效果很好。但是我想添加if语句,它应该返回错误消息no record found我正在尝试如下

$UserCars = User::with('cars')->findOrFail(request()->user()->id);
if ($UserCars !== null) {
    $Result = $UserCars->cars;
}else{
    $Result = response()->json(['data' => 'Resource not found'], 404);
}

return new CarResource($Result);

问题是当if语句true(表示在数据库中找到记录时)时它正在工作,但是如果条件错误,它将返回带有以下消息的html页面

Sorry, the page you are looking for could not be found.

CarResource 是我用于API的API资源。

有人可以请我指导一下,我将不胜感激。谢谢

N69S

find()方法与该方法之间存在很大差异findOrFail()

findOrFail()ModelNotFound没有可用结果时将触发异常。要更改此类异常的输出(不执行try catch()),您需要在中的render()方法中拦截该异常App\Exceptions\Handler::class告诉我是否要举个例子。

另一个非常简单的方法是简单地进行查找。

$UserCars = User::with('cars')->find(request()->user()->id);
//this will return either an instance of User or null
if ($UserCars) {
    $Result = $UserCars->cars;
    $response = new CarResource($Result);
}else{
    $response = response()->json(['data' => 'Resource not found'], 404);
}
return $response;

同样,由于您正在为request()帮助程序恢复用户,因此无需再次从DB请求用户,只需这样做。

$user = $request->user();
if ($user) {
    $response = new CarResource($user->cars);
} else {
    $response = response()->json(['data' => 'Resource not found'], 404);
}

return $response;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

(a)Smack在login()上返回“服务不可用(503)”错误

http.Get返回协议不可用错误

TestFlight Beta中的不可用消息

如何返回不可用的const引用

TestFlight当前不可用消息

如何解决spring bean不可用的错误?

错误消息“ init(accessToEntityTypes :)”不可用于初始化EKEventStore

Office脚本错误-该属性不可用

我该如何解决“软件包'ddply'不可用(对于R版本3.6.2)”

vlookup中的数据不可用错误:不知道该怎么办

该视频不可用。Youtube Api错误。Android Studio

我该如何运行`git mv --index`(--index选项在git mv上不可用)

该视频目前不可用-Youtube

Laravel左联接,当右表中的记录不可用时返回空结果

服务返回的对象的属性不可用

如何诊断“资源不可用”错误Apache Tomcat?

.war文件部署在tomcat服务器中,但出现错误404,该资源不可用

我的控制器不断返回错误“请求的资源不可用”

错误网页不可用

该消息无法发送到SMTP服务器。传输错误代码为0x80040217。服务器响应不可用

我应该如何从HALT不可用的类内部返回Sinatra HTTP错误?

我收到“请求的资源不可用” 404错误

如果代理不可用,我该如何忽略呢?

当Firebase数据库中的电子邮件Val不可用时,如何显示错误消息

为什么“repo”包在 Ubuntu 20.04 中不可用?我该如何安装?

如果名称在 C 中的文件中不可用,如何显示错误消息?

为什么我的 SendGrid 函数返回“服务不可用”?

使用邮递员检查 api 调用时,“错误”:真,“消息”:“所需参数不可用”

错误消息:启用空安全时,默认的“列表”构造函数不可用