Laravel 7 中如何在代码内使用错误并将其赋值给自定义变量

针对Laravel 7版本的实现方法
你可以通过两种常用方式把这类错误内容赋值到自定义变量:
方式1:捕获系统自动抛出的模型不存在异常
当你使用findOrFail()、firstOrFail()这类查询方法时,数据不存在会自动抛出ModelNotFoundException异常,直接捕获即可获取错误信息:
// 先引入异常类 use Illuminate\Database\Eloquent\ModelNotFoundException; try { // 示例查询,数据不存在时自动抛异常 $user = \App\User::findOrFail($id); } catch (ModelNotFoundException $e) { // 直接将错误信息赋值给自定义变量 $customError = $e->getMessage(); // 你也可以自定义错误内容 // $customError = 'Data Not Found In Database'; // 业务逻辑示例:闪存错误后返回上一页,前端可直接调用弹窗 return back()->with('error', $customError); }
前端Blade模板中触发弹窗的示例:
@if(session('error')) <script>alert("{{ session('error') }}")</script> @endif
方式2:手动判断查询结果赋值
如果你不使用自动抛异常的查询方法,可以自己判断结果为空后给变量赋值:
$user = \App\User::where('status', 1)->where('id', $id)->first(); $customError = ''; if (!$user) { // 给自定义变量赋值错误内容 $customError = 'Data Not Found In Database'; // 后续你可以用这个变量做任意逻辑处理 }
内容的提问来源于stack exchange,提问作者renaldyks
相关产品推荐
相关产品推荐

