Laravel中无法返回$couponDetails->couponName的值
P粉714890053
P粉714890053 2023-08-20 21:26:59
[PHP讨论组]


$couponCode = $request->couponCode;

// 通过优惠码获取优惠券详情
$coupon = Coupon::where('couponCode', $couponCode)
    ->get()
    ->first();

$couponDetails = response()->json($coupon);

return $couponDetails->couponName;

返回结果如下:

Undefined property: IlluminateHttpJsonResponse::$couponName (500 Internal Server Error)

我试图从couponDetails中获取couponName的值

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;
    
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号