【发布时间】:2019-09-11 22:10:08
【问题描述】:
我正在开发 API,但在将其连接到支付平台时遇到问题,因为他们要求使用以下格式的首选项:
'items' => [
[
'id' => 1,
'title' => 'Product 1',
'description' => 'Some description',
'picture_url' => 'img.png',
'quantity' => 1,
'currency_id' => 'USD',
'unit_price' => 20
],
[
'id' => 2,
'title' => 'Product 2',
'description' => 'Some description',
'picture_url' => 'img.png',
'quantity' => 1,
'currency_id' => 'USD',
'unit_price' => 25
]
]
但我正在从购物车中的商品中接收数据,如下所示:
'items' => json_encode(new CartItemCollection($items))
那个集合(我的集合 CartItemCollection)有这种格式:
{
"Items":[
{
"productID":1,
"inventoryID":1,
"name":"Product 1",
"Quantity":1,
"price":20,
"image":"img.png"
},
{
"productID":2,
"inventoryID":1,
"name":"Product2 "
"Quantity":1,
"price":25,
"image":"img.png"
}
],
"items_count":2,
"products_count":2
}
所以我要发送(这是错误的):
'items' => "Items":[
{
"productID":1,
"inventoryID":1,
"name":"Product 1",
"Quantity":1,
"price":20,
"image":"img.png"
},
{
"productID":2,
"inventoryID":1,
"name":"Product2 "
"Quantity":1,
"price":25,
"image":"img.png"
}
],
"items_count":2,
"products_count":2
如何重写或重新格式化:json_encode(new CartItemCollection($items)) 以获得正确的数组?
我有点需要这样做:
foreach(项目)在我的收藏中,做:ProductID(我的)重写为 id(平台),数量(我的)重写为数量(平台),价格(我的)重写为 unit_price(平台)等等。
提前谢谢你:)
【问题讨论】:
-
CartItemCollection 是什么样的?
-
在传递给那个类之前,你从这些项目中得到了什么?
-
@ChristoffX 我的收藏看起来像是我发布的,我只是将问题编辑得更具体,但它是:“Items”:[{...
-
@ZeljkoMiloradovic 我的 $items 只是购物车中的一系列商品,但这些商品没有价格(或至少不像平台预期的那样)
-
问题是我需要重新格式化整个集合,我在想也许用一个 foreach,并分配新的键和值,比如手动,但我真的不知道我该怎么做
标签: php laravel collections