I am trying to get parent child relation and successfully get that But I am stuck how to identify what is the level of the child.
Here is my code
public function getDownline($userid = null) {
$category_data = array();
$where = array('parent_id' => $userid);
$this->db->where($where);
$category_query = $this->db->get('users')->result();
$category_data = array();
foreach ($category_query as $category) {
$category_data[$category->id] = array($category);
$children = $this->getDownline($category->id);
if ($children) {
$category_data[$category->id]['children'] = $children;
}
}
return $category_data;
}
Below is my table structure
I am getting output in this format
[1136] => Array
(
[0] => stdClass Object
(
[id] => 1136
[gid] => 4
[parent_id] => 1112
[username] => test
[email] => abc@abc.com
[name] => test
[status] => 1
[registerd] => 2017-04-20 08:49:25
[last_login] => 2017-04-21 10:42:25
[password] => 4eca045dfa240f56a1f9d45eaa53b71c6eccd6a7
[tranjection_password] =>
)
[children] => Array
(
[1148] => Array
(
[0] => stdClass Object
(
[id] => 1148
[gid] => 4
[parent_id] => 1136
[username] => test_downline
[email] => kapil@abc.in
[name] => test_downline
[status] => 1
[registerd] => 2017-04-21 10:42:56
[last_login] => 2017-04-21 11:08:00
[password] => 4eca045dfa240f56a1f9d45eaa53b71c6eccd6a7
[tranjection_password] =>
)
[children] => Array
(
[1150] => Array
(
[0] => stdClass Object
(
[id] => 1150
[gid] => 4
[parent_id] => 1148
[username] => test1_downline1
[email] => kapil25@abc.in
[name] => test1_downline1
[status] => 1
[registerd] => 2017-04-21 11:08:27
[last_login] => 0000-00-00 00:00:00
[password] => 4eca045dfa240f56a1f9d45eaa53b71c6eccd6a7
[tranjection_password] =>
)
)
)
)
[1149] => Array
(
[0] => stdClass Object
(
[id] => 1149
[gid] => 4
[parent_id] => 1136
[username] => test_downline2
[email] => kapil1@abc.in
[name] => test_downline2
[status] => 1
[registerd] => 2017-04-21 11:06:35
[last_login] => 0000-00-00 00:00:00
[password] => 4eca045dfa240f56a1f9d45eaa53b71c6eccd6a7
[tranjection_password] =>
)
)
)
)