我正在开发一个 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;
}
在我的控制器中这样做,
//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,我如何循环该项目?