【发布时间】:2017-01-01 14:14:46
【问题描述】:
我有以下代码
public function get_request($requestid)
{
$this->db->select('*');
$this->db->from('instanthire as s');
$this->db->join('instanthire_skills as ss', 's.id = ss.requestid');
$this->db->where('s.id',$requestid);
$query = $this->db->get();
return $query->result_array();
}
我得到的结果数组是
Array
(
[0] => Array
(
[id] => 1
[userid] => 1
[skills] => html
)
[1] => Array
(
[id] => 2
[userid] => 1
[skills] => core php
)
)
Array
(
[0] => Array
(
[id] => 3
[userid] => 2
[skills] => Core Java
)
[1] => Array
(
[id] => 4
[userid] => 2
[skills] => Advance Java
)
[2] => Array
(
[id] => 4
[userid] => 2
[skills] => .net
)
)
问题在于,对于每个用户 ID,数组的数量会随着技能的增加而增加,我希望为每个用户 ID 创建一个数组,并且该用户的技能应该在主数组中。谁能告诉我如何纠正我的数组
表结构
瞬间
id userid
1 1
2 2
instanthire_skills
id requestid skills
1 1 html
2 1 core php
3 2 core java
4 2 advance
5 2 .net
想要的输出
Array
(
[0] => Array
(
[id] => 1
[userid] => 1
[skills] => Array
(
[0] => html
[1] => core php
)
)
[1] => Array
(
[id] => 3
[userid] => 2
[skills] => Array
(
[0] => core java
[1] => advance java
[2] => .net
)
)
)
【问题讨论】:
-
你能分享你的数据库结构吗?不能使用 group by 吗?
-
@user1048123_SOreadytohelp 更新了我的帖子
-
我怀疑您是否能够以 result_array 自动提供您想要的数组结构的方式编写 SELECT 语句。这只是几行代码的工作,它从数据库中获取数据,然后将其转换为所需的目标结构。
-
@CBroe 你能告诉我怎么做吗
-
id 值是怎么回事,您只想在结果数组中包含用户 id 出现的第一个 id?
标签: php mysql arrays codeigniter multidimensional-array