Reputation: 57
$couponCode = $request->couponCode;
// Get coupon details by coupon code
$coupon = Coupon::where('couponCode', $couponCode)
->get()
->first();
$couponDetails = response()->json($coupon);
return $couponDetails->couponName;
That returns as:
Undefined property: Illuminate\Http\JsonResponse::$couponName (500 Internal Server Error)
I am tring to get couponName value from couponDetails
Upvotes: -2
Views: 60
Reputation: 8102
As another user already stated but not with more code, I will show you how to do it:
// Store coupon code on variable (no need to)
$couponCode = $request->couponCode;
// Get coupon details by coupon code (directly use first() so you get the model in one run)
$coupon = Coupon::where('couponCode', $couponCode)->first();
// Here you can either return the model as a JSON response (and in the view you do `$data->couponName`
response()->json(['data' => $coupon]);
// Or you directly return the coupon name
return $couponDetails->couponName;
Upvotes: 0
Reputation: 2536
The error you're getting is because property you're trying to access doesn't exist for the class Illuminate\Http\JsonResponse
.
You have two ways to avoid this:
Either return:
return $coupon->couponName;
Get the data from JsonResponse class:
return $couponDetails->getData()->couponName;
Upvotes: 0