Laravel中無法傳回$couponDetails->couponName的值
P粉714890053
P粉714890053 2023-08-20 21:26:59
0
3
535
<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;
    
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!