Laravel中无法返回$couponDetails->couponName的值
P粉714890053
P粉714890053 2023-08-20 21:26:59
[PHP讨论组]
<p><br /></p> <pre class="brush:php;toolbar:false;">$couponCode = $request-&gt;couponCode; // 通过优惠码获取优惠券详情 $coupon = Coupon::where('couponCode', $couponCode) -&gt;get() -&gt;first(); $couponDetails = response()-&gt;json($coupon); return $couponDetails-&gt;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;
    
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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