我想使用group_concat作为数据数组返回从db检索的值。是否可以在mysql查询中执行此操作?或者我是否需要将数据分解为数组?
GROUP_CONCAT(sh.hold_id) as holds
返回此
[holds] => 3,4
我希望它返回:
[holds] => array(3,4)
答案 0 :(得分:12)
正如我在评论中所说:你需要使用这样的PHP代码将数据分解为数组:
$holds = explode(',', $holds);
因为mysql没有数据类型的概念。
答案 1 :(得分:3)
MySQL没有数组的概念。因此它无法返回数组。由你的处理代码(这里是php脚本)将连接的符号转换为php数组。
答案 2 :(得分:0)
如果您需要在MySQL级别执行此操作,则可能将其解析为一个对象。 您可以执行以下操作
SELECT CONCAT("[", GROUP_CONCAT(category.name), "]") AS categories
From categories