arrays - 我无法将对象转换为数组
问题描述
我正在尝试创建购物车 API 路由,但我遇到了这个问题,因为当我使用这个语句时,$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": []
}
}
我想把它变成对象数组。我尝试$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": []
}
}
}
我可以知道是什么问题吗?
解决方案
你可以像这样手动操作:
$carts = \Cart::session($session)->getContent();
if ($carts) {
$cartsArray = json_decode($carts);
foreach($cartsArray->cart as &$cart){
$cart = (array) $cart;
}
}
dd($cartsArray);
推荐阅读
- netsuite - 验证自定义子列表网络套件上的行
- javascript - 使用 JavaScript scrollIntoView 会导致元素被遮挡
- python - 数字 1 到 3 的范围
- ruby-on-rails - Rails 在渲染模板时关闭控制台日志记录
- python - 如何从 ipyparallel 引擎打印到主进程?
- neo4j - 检索列表中的最后一个节点以进行进一步处理
- java - Akka EventSource 流 API 中的 HTTP2 客户端支持?
- html - 如何堆叠社交图标
- sql - XQuery - 检查一组是否包含另一组(得到零结果)
- python - 在不使用 for 循环的情况下删除 numpy 数组的前导零