mysql - 如何将mysql上的其他行表GROUP_CONCAT到PHP中的关联数组中
问题描述
我会解释我的问题。希望你能帮助我,所以我会开始。
我的第一张桌子上有 4 个表格类别、产品、标题、 规格
类别有一个列行,主键是ID
id | category_name
-------------------
34 | Guitar
在我的第二张表上, 产品在类别上有一个外键category_id,主 ID 是ID ( product_id )
id | category_id | product_name
------------------------------
1 | 34 | yamaha f310
在我的第三个表 标题上,产品表上有一个外键product_id
id |product_id | title_name
------------------------------
1 | 1 | Weight
2 | 1 | Height
3 | 1 | Warranty
在我的第 4 个表 规范中,产品表上有一个外键product_id
id |product_id | specification_name
------------------------------
1 | 1 | 155 w
2 | 1 | 160 h
3 | 1 | 1 Year
所以我想将title_name和specification_name分组到associative_arrays中,比如title_name是一个KEY,值是specification_name
我试过这个查询,但我想让关联数组不是单独的列名
SELECT
product.category_id , product.product_name ,
category.category_name ,
title.product_id,
CONCAT("[", GROUP_CONCAT(DISTINCT title.title_name), "]") AS title,
CONCAT("[", GROUP_CONCAT(DISTINCT specification.specification_name), "]") AS specification,
specification.product_id
FROM product
LEFT JOIN category ON product.category_id = category.id
LEFT JOIN title ON product.id = title.product_id
LEFT JOIN specification ON product.id = specification.product_id WHERE product.id = 1
GROUP BY product.id
$query->execute();
$result = $query->fetchAll(PDO::FETCH_OBJ);
这个查询在 PHP 中的输出(我使用了 print_r)
Array
(
[0] => stdClass Object
(
[product_name] => Yamaha F310
[category_name] => Guitar
[product_id] => 1
[title] => [Warranty,height,Weight]
[specification] => [1 year , 155 h ,160 w]
)
)
但我想显示的输出是这样的,我编辑了这个来制作样本。
Array
(
[0] => stdClass Object
(
[product_name] => Yamaha F310
[category_name] => Guitar
[product_id] => 1
[title] => [Warranty => 1 year , height => 156 h , Weight=>160 w]
)
)
解决方案
推荐阅读
- javascript - 不能使用在另一个文件中定义的 php 变量
- python - 无法执行“python -m py_compile”命令
- aframe - A 帧嵌入视频黑色面板
- sequence - 如何过滤掉序列中的连续重复?
- html - 在 HTML 表单中添加“其他”选项
- python - threading.join() 会阻塞调用它的线程吗?
- python - 查找特定单词并将它们添加到字典中
- javascript - 反应包装组中元素的更改样式
- hibernate - 我想知道为什么我的代理对象为空.. (jpa, hibernate, kotlin)
- nestjs - x-www-form-urlencoded 数据中的 NestJS 布尔值?