【发布时间】:2015-05-08 22:25:00
【问题描述】:
我们有 3 张桌子。
1) 订单
PK
order_id
2) Order_Products
PK | FK |专栏 |专栏
order_product_id | order_id |产品编号 |姓名 |数量
3) Order_Product_Components
PK | FK |专栏 |专栏 |专栏
order_product_component_id | order_product_id |股票编号 |姓名 |数量
表 2 和表 3 是一对多的关系。
那么,如果我们想要获得一系列订单产品及其组件,那么我们可以使用的最佳查询是什么?
最后结果应该是这种格式(如果我们只有 1 个产品和 2 个组件):
$products = array(
array(
' 'product_id' => x,
'name' => x,
'quantity' => x,
'stocks' => array(
array(
'stock_id' => x,
'name' => x,
'quantity' => x),
array(
'stock_id' => x,
'name' => x,
'quantity' => x)));
【问题讨论】:
-
据我所知,MySQL 将返回一个单行数组。我不认为有任何方法可以做一个嵌套数组。您需要通过多个查询检索数据并在代码中构建结果。
-
仅供参考,您无法通过 1 个查询从 sql 中提取多维数组。订单数据需要 1 个,附加到订单的项目需要 1 个。
-
我明白这一点。所以我的问题是最好的方法是什么?分组、加入……?
-
订单是保留字。我们的开端很糟糕。