【发布时间】:2019-03-11 03:42:22
【问题描述】:
如果我的代码返回 null,那么它会生成此错误。如果代码返回一些数据,那么它工作正常。
控制器
$profile_data= DB::table('partner_prefence')
->select('*')
->where('profile_id',$profile_id)
->first();
return view('partner_prefence',['profile_data' => $profile_data]);
视图/刀片
@php($rel_status = explode(',', $profile_data->p_marital_status))
如果$profile->p_marital_status 有值,则没有问题。只有当它的值为空时才会出现错误。
【问题讨论】:
-
如果你使用
firstOrFail()而不是first(),它甚至会在进入视图之前抛出一个错误,你可以根据需要捕获和处理。 -
我正在使用 first(),我应该使用 firstorfail() 吗?
-
You don't have to... 它们本质上都做同样的事情,但如果没有返回结果,
firstOrFail()会抛出错误。您可以使用try ... catch来处理它,或者如果您坚持使用first(),只需在将其传递给视图之前检查if($profile_data)。最终,如果该数据为null,则由您决定该怎么做 -
我认为您应该遵循提供的答案,因为我认为您的视图应该显示是否找到
profile_data。
标签: laravel laravel-5 laravel-blade laravel-helper