I have an SQL query, where i do some joins, but when i var_dump the result in PHP i get an array, with a lot of duplicates. Is there any way to get the result back as an multidimensional array like:
我有一个SQL查询,在这里我做一些连接,但是当我var_dump结果在PHP中我得到一个数组,有很多重复。是否有办法将结果作为多维数组返回:
array( array("projectname", "projectdescription", "projectthumb" , "activestate"),
array("img1.jpg", "img2.jpg", "img3.jpg"),
array("tech1", "tech2", "tech3")
);
At the moment i get the following result: http://pastebin.com/ZF7yiafS
现在,我得到了以下结果:http://pastebin.com/ZF7yiafS。
The SQL query:
SQL查询:
SELECT p.name,
p.description,
p.img_thumb,
p.active,
t.name,
i.filename
FROM projects as p
JOIN projects_x_techs as pt
ON p.id = pt.project_id
JOIN techs as t
ON pt.techs_id = t.id
JOIN images as i
ON p.id = i.projects_id
WHERE p.slug = :slug
The ER-diagram
的er图
1 个解决方案
#1
6
You are asking MySQL do something that related to presentation of data. MySQL cannot show anything beside "rows". It can make anything you can describe as a row, but it cannot do rows within rows - it simply can't.
你要求MySQL做一些与数据显示相关的事情。MySQL不能显示“行”之外的任何内容。它可以生成任何你可以描述成一行的东西,但是它不能在行中行——它不能。
I suggest to return your "rows" and then have PHP pack them as you wish, rather than work hard on some very complex SQL query that might get you the output you desire, but would probably be: 1) Inefficient 2) Very hard to maintain one year from now
我建议返回您的“行”,然后让PHP按照您的意愿打包它们,而不是努力处理一些非常复杂的SQL查询,这些查询可能会得到您想要的输出,但可能会是:1)效率低下2)很难在一年后维护
#1
6
You are asking MySQL do something that related to presentation of data. MySQL cannot show anything beside "rows". It can make anything you can describe as a row, but it cannot do rows within rows - it simply can't.
你要求MySQL做一些与数据显示相关的事情。MySQL不能显示“行”之外的任何内容。它可以生成任何你可以描述成一行的东西,但是它不能在行中行——它不能。
I suggest to return your "rows" and then have PHP pack them as you wish, rather than work hard on some very complex SQL query that might get you the output you desire, but would probably be: 1) Inefficient 2) Very hard to maintain one year from now
我建议返回您的“行”,然后让PHP按照您的意愿打包它们,而不是努力处理一些非常复杂的SQL查询,这些查询可能会得到您想要的输出,但可能会是:1)效率低下2)很难在一年后维护