gpt4 book ai didi

php - 当数量大于1时如何循环?

转载 作者:行者123 更新时间:2023-11-29 15:35:26 24 4
gpt4 key购买 nike

我正在开发一个 API 以从订单中获取商品详细信息

我的数据库中的记录是这样的,

| order_id    | item_id | oi_qty
|MTASTO-EVHS5J|7 |2
|MTASTO-EVHS5J|3 |1

我的模型获取这样的数据

  public function get_order_items($order_id) {

$this->db
->select('i.item_name as productTitle, oi.oi_engrave_text as notes, oi.oi_engrave_text as type')
->from('order_items oi')
->join('item i', 'oi.item_id = i.item_id', 'left')
->join('item_size s', 'oi.size_id = s.size_id', 'left')
->where('oi.order_id', $order_id);
$query = $this->db->get();

return $query;
}

在我的 Controller 中执行此操作,

//order item
$nested_array = $this->inventory_api->get_order_items($order_id)->result_array();

像这样制作json,

//data response
header('Content-Type: application/json; charset=utf-8');

$default = array(
"items"=> $nested_array
]

);

echo json_encode($default);;

json结果是这样的,

"items": [
{
"productTitle": "Alor",
"notes": "costum",
"type": "costum"
},
{
"productTitle": "Rakai Maple",
"notes": "costum",
"type": "costum"
}
]

结果中只有 1 件 Alor 商品,而 oi_qty 中有 2 件

问题是如果 oi_qty 大于 1,如何循环该项目?

最佳答案

在您的库中,即使数量为两个,每种产品也只有一个条目。因此,当您在查询中询问条目时,它会逐行返回。

我认为您应该在查询中获取数量:SELECT i.oi_qty as amount ...

然后像这样解析结果

foreach($nested_array as $item)
{
for($i =0 ; $i < $item['quantity']; $i++)
{
$finalArray[] = [
'name' => $item['name'],,
'note' => $item['note'],
...
];
}
}

关于php - 当数量大于1时如何循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58298070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com