Laravel中无法返回$couponDetails->couponName的值
P粉714890053
2023-08-20 21:26:59
[PHP讨论组]
<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>
正如另一个用户已经提到的,但没有更多的代码,我将向您展示如何做到:
// 将优惠券代码存储在变量中(不需要) $couponCode = $request->couponCode; // 通过优惠券代码获取优惠券详情(直接使用first()方法,以便一次性获取模型) $coupon = Coupon::where('couponCode', $couponCode)->first(); // 在这里,您可以将模型作为JSON响应返回(在视图中使用`$data->couponName`) response()->json(['data' => $coupon]); // 或者您可以直接返回优惠券名称 return $couponDetails->couponName;你得到的错误是因为你尝试访问的属性在类
Illuminate\Http\JsonResponse中不存在。你有两种方法可以避免这个问题:
要么返回:
从JsonResponse类获取数据: