How to group column values from a CodeIgniter result set by one column and create subarrays of another column
I have the following code
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();
}
The resulting array that I am getting is
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
)
)
The issue is that for every userid the number of array increases with increase of skills, I wish to create one array for every userid and skills for that user should be within the main array.
Table structure
instanthire
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
desired output
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
)
)
)