嗨,我正在开发一个laravel 8应用程序,在这个应用程序中,我添加了一个关于我的json的附加信息,并试图通过控制器返回它。但是我得到了一个foreach() loop requires object|array string given
错误。这是我的控制器代码。请帮我弄清楚这里出了什么问题。
public function index(Request $request): JsonResponse
{
$user = Auth()->user();
$cart = Cart::where('user_id', $user->id)->with('items')->first();
$fabric_items = json_decode($cart->items,true);
// dd(gettype($cart->items));
foreach($fabric_items as $key => $item)
{
$sku = explode("-",$item['product_data']['Fabric']);
$product_image = Products::where('sku','like','%'.$sku[0].'%')->get();
$fabric_items[$key]['image_url'] = $product_image[0]->image_url;
}
$cart->items = json_encode($fabric_items);
if (!$cart) {
return $this->returnError(__('You don\'t have any item in the cart'));
}
return response()->json(['status' => true, 'data' => $cart]);
}
错误:{"status":false,"error":"foreach() argument must be of type array|object, string given"}
发布于 2022-02-16 14:07:52
为什么要在作为关系的项上使用json_decode,删除json_decode和循环。
https://stackoverflow.com/questions/71142634
复制相似问题