【发布时间】:2016-02-06 04:17:34
【问题描述】:
我想合并两个表的数据并将其返回为json,但我似乎无法正确处理。我已经尝试过 INNER/LEFT Join 和嵌套查询,但都没有有效的结果。
这是我的表格的结构:
事件:
----------------------------------
id | title | extra1 | extra2
----------------------------------
1 | EventNo1 | ... | ...
2 | EventNo2 | ... | ...
3 | EventNo3 | ... | ...
4 | EventNo4 | ... | ...
5 | EventNo5 | ... | ...
图片:
----------------------------------
id | event | val | height | width
----------------------------------
2 | 5 | xxx | xxx | xxx
3 | 2 | xxy | xxx | xxx
6 | 5 | xyx | xxx | xxx
所以基本上我想要的是从events 获取数据,对于images.event 与events.id 匹配的每个事件,我想使用来自images 的数据进行扩展。
这是我想要实现的json结果:
[
{
"id": "1",
"title": "EventNo1",
"extra1": "...",
"extra2": "...",
"images": []
},
{
"id": "2",
"title": "EventNo2",
"extra1": "...",
"extra2": "...",
"images": [
{
"id": 3,
"val": "xxy",
"height": "xxx",
"width": "xxx"
}
]
},
{
"id": "3",
"title": "EventNo3",
"extra1": "...",
"extra2": "...",
"images": []
},
{
"id": "4",
"title": "EventNo4",
"images": []
},
{
"id": "5",
"title": "EventNo5",
"extra1": "...",
"extra2": "...",
"images": [
{
"id": 2,
"val": "xxx",
"height": "xxx",
"width": "xxx"
},
{
"id": 6,
"val": "xyx",
"height": "xxx",
"width": "xxx"
}
]
}
]
我如何在 php + mysqli 中完成这个?
【问题讨论】:
-
没错。到目前为止,您尝试过什么?
-
我接受了“gaurav rai”。我之前尝试过他的方法,但是我的对象是分开的。没想到只是扩展它们,这让我考虑改为 INNER/LEFT 加入......
标签: php arrays mysqli left-join inner-join