【发布时间】:2014-03-12 18:12:56
【问题描述】:
我有以下 sql 查询:
SELECT job_id, job_type FROM jobs
我从 mysql 查询中得到以下结果(行集):
结果(打印_r):
Array
(
[0] => stdClass Object
(
[job_id] => 239
[job_type] => 'type1';
}
[1] => stdClass Object
{
[job_id] => 53
[job_type] => 'type2';
}
[2] => stdClass Object
{
[job_id] => 76
[job_type] => 'type3';
}
[3] => stdClass Object
{
[job_id] => 78
[job_type] => 'type1';
}
)
如你所见,我有三种类型的工作:type1、type2、type3
有没有办法通过job_type 映射/重新组合这些结果?
基本上我想要类似的东西:
Array
(
['type1'] => Array (
[0] => stdClass Object
{
[job_id] => 239
[job_type] => 'type1';
}
[1] => stdClass Object
{
[job_id] => 76
[job_type] => 'type1';
}
)
['type2'] => Array (
[0] => stdClass Object
{
[job_id] => 53
[job_type] => 'type2';
}
)
['type3'] => Array (
[0] => stdClass Object
{
[job_id] => 78
[job_type] => 'type3';
}
)
)
或者我应该使用不同的查询?
我试过使用array_map(),但没有成功,但我只得到了一个数组,其中的元素来自一个job_type。
提前致谢。
【问题讨论】:
-
在查询末尾添加
ORDER BY job_type -
ORDER BY job_type只会对我得到的行集进行排序 - 它不会将它们拆分为job_type的单独数组 -
您可以根据类型的数量创建一个数组并遍历每个项目并将其添加到数组中,但我认为您的目标可能不是正确的做事方式跨度>