Laravel中无法返回$couponDetails->couponName的值
P粉714890053
P粉714890053 2023-08-20 21:26:59
0
3
545
<p><br /></p> <pre class="brush:php;toolbar:false;">$couponCode = $request->couponCode; // 通过优惠码获取优惠券详情 $coupon = Coupon::where('couponCode', $couponCode) ->get() ->first(); $couponDetails = response()->json($coupon); return $couponDetails->couponName; </pre> <p>返回结果如下:</p> <blockquote> <p>Undefined property: IlluminateHttpJsonResponse::$couponName (500 Internal Server Error)</p> </blockquote> <p>我试图从couponDetails中获取couponName的值</p>
P粉714890053
P粉714890053

全部回复(2)
P粉950128819

正如另一个用户已经提到的,但没有更多的代码,我将向您展示如何做到:

// 将优惠券代码存储在变量中(不需要)
$couponCode = $request->couponCode;

// 通过优惠券代码获取优惠券详情(直接使用first()方法,以便一次性获取模型)
$coupon = Coupon::where('couponCode', $couponCode)->first();

// 在这里,您可以将模型作为JSON响应返回(在视图中使用`$data->couponName`)
response()->json(['data' => $coupon]);

// 或者您可以直接返回优惠券名称
return $couponDetails->couponName;
P粉807471604

你得到的错误是因为你尝试访问的属性在类Illuminate\Http\JsonResponse中不存在。

你有两种方法可以避免这个问题:

  1. 要么返回:

    return $coupon->couponName;
    
  2. 从JsonResponse类获取数据:

    return $couponDetails->getData()->couponName;
    
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板