映射GROUP_CONCAT将数据返回到数组

时间:2015-03-01 15:24:01

标签: php mysql

查询:

SELECT a.*, GROUP_CONCAT(b.a_val) as attribute_value, GROUP_CONCAT(b.aval_id) as attribute_value_slug, GROUP_CONCAT(c.a_name) as attibute_name, GROUP_CONCAT(c.a_slug) as attribute_def_slug
FROM entries a
INNER JOIN attr_vals b ON a.sku = b.sku
INNER JOIN attr_defs c ON b.a_id = c.a_id
WHERE a.sku = ? LIMIT 0,1

参赛作品表:

enter image description here

attr_defs表:

enter image description here

attr_values表:

enter image description here

预期结果是获取所有属性值,属性名称和它的slug。我可以使用上面显示的查询生成数据。

现在问题是我可以使用PHP爆炸GROUP_CONCAT ed数据。如何使用attribute_values数据映射展开的attribute_name数据。

在下面显示的屏幕截图中,结果将是,

$object['attribute_value']="Sample value 1, Sample value 2, Sample value 3";
$object['attribute_name']="Color, weight";
$object['attribute_def_slug']="color, weight";

现在如何匹配Sample value 1&样本值2到颜色,样本值3到权重,例如$another_array_var['color']=("Sample value 1", "Sample value 2")$another_array_var['weight']=("Sample value 3");

请参阅截图,为什么前两个值属于Color,第三个值属于权重。

0 个答案:

没有答案