Arrays 我能';t将对象转换为数组
我正在尝试创建一个购物车API路由,但我遇到了这个问题,因为当我使用以下语句时,Arrays 我能';t将对象转换为数组,arrays,laravel,object,shopping-cart,Arrays,Laravel,Object,Shopping Cart,我正在尝试创建一个购物车API路由,但我遇到了这个问题,因为当我使用以下语句时,$carts=\cart::session($session)->getContent(); 我得到的对象如下: "cart": { "1": { "id": 1, "name": "Tort cu biscuiți", "price": 20, "quantity": "1", "attributes": {
$carts=\cart::session($session)->getContent();
我得到的对象如下:
"cart": {
"1": {
"id": 1,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": "1",
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/AkiGKJdxjKNtyoVI034RPL1drLsMntUxLfzqZplV.jpeg"
},
"conditions": []
},
"2": {
"id": 2,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": 2,
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/IkAhenLttHWaRD58hNZ460ykWCq7q1sih3vI9H5V.jpeg"
},
"conditions": []
}
}
$carts = \Cart::session($session)->getContent();
if ($carts) {
$cartsArray = json_decode($carts);
foreach($cartsArray->cart as &$cart){
$cart = (array) $cart;
}
}
dd($cartsArray);
我想把它转换成一组物体。我尝试了$cart->toArray()代码>不起作用,我还提示了(数组)$cart,我得到了以下结果:
"cart": {
"\u0000*\u0000items": {
"1": {
"id": 1,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": "1",
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/AkiGKJdxjKNtyoVI034RPL1drLsMntUxLfzqZplV.jpeg"
},
"conditions": []
},
"2": {
"id": 2,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": 2,
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/IkAhenLttHWaRD58hNZ460ykWCq7q1sih3vI9H5V.jpeg"
},
"conditions": []
}
}
}
我可以知道问题出在哪里吗?你可以这样做:
"cart": {
"1": {
"id": 1,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": "1",
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/AkiGKJdxjKNtyoVI034RPL1drLsMntUxLfzqZplV.jpeg"
},
"conditions": []
},
"2": {
"id": 2,
"name": "Tort cu biscuiți",
"price": 20,
"quantity": 2,
"attributes": {
"image_path": "http://127.0.0.1:8000/storage/images/IkAhenLttHWaRD58hNZ460ykWCq7q1sih3vI9H5V.jpeg"
},
"conditions": []
}
}
$carts = \Cart::session($session)->getContent();
if ($carts) {
$cartsArray = json_decode($carts);
foreach($cartsArray->cart as &$cart){
$cart = (array) $cart;
}
}
dd($cartsArray);
此购物车是您自己的自定义对象吗?你不需要创建行为来告诉它如何成为一个数组吗?我使用这个包DarryDecode/cart:~4.0来创建cartit抛出这个错误Symfony\Component\Debug\Exception\FatalThrowableError:不能使用stdClass类型的对象作为数组foreach($cartsArray['cart']作为&$cart)
ok。告诉我这个代码的返回是什么:echo get_类($cartsArray)代码>?它返回stdClass
Hmm好的,然后我在回复中做了一个更改。你能再试一次吗?