我写的代码如下:
public function index()
{
$table_name = 'org_chart';
$data['employee_data'] = $this->common_model->get_all_data($table_name);
for($i=0;$i < count($data['employee_data']);$i++){
$Reporting_Name=$data['employee_data'][$i]['Name'];
$query = "where ReportingName = ? ";
$data['rept_data'][$i] = $this->common_model->fetch_data('org_chart',$query,$Reporting_Name);
}
echo "<pre>";
//print_r($data['rept_data']);die();
$new_data = [];
foreach($data['employee_data'] as $value){
if(isset($value['ReportingName']) && $value['ReportingName']!= ''){
$new_data[$value['ReportingName']]['children'] = array('name' => $value['Name'],'title' => $value['title']);
}
else{
$new_data = $value;
}
}
$data['new_data']=$new_data;
//echo "<pre>";
print_r($data['new_data']);
$this->load->view('org',$data);
}
我的数据库表如下:
Sr.No. Employee Name Reporting Name Designation
---------------------------------------------------------------
1 Ajay Kumar general manager
2 Aniket Kumar Ajay Kumar department manager
3 Pratik Mehata Ajay Kumar department manager
4 Neetu Chauhan Ajay Kumar department manager
5 Swapnil Dalwi Ajay Kumar department manager
6 Namrata Dongra Pratik Mehata senior engineer
7 Devendra More Pratik Mehata senior engineer
8 Amol Chiman Devendra More engineer
9 Manish Gudekar Devendra More engineer
10 Snehal Sawant Manish Gudekar intern
我得到的输出如下:
Array
(
[id] => 1
[Name] => Ajay Kumar
[ReportingName] =>
[title] => general manager
[srno] => 1
[Ajay Kumar] => Array
(
[children] => Array
(
[name] => Swapnil Dalwi
[title] => department manager
)
)
[Pratik Mehata] => Array
(
[children] => Array
(
[name] => Devendra More
[title] => senior engineer
)
)
[Devendra More] => Array
(
[children] => Array
(
[name] => Manish Gudekar
[title] => engineer
)
)
[Manish Gudekar] => Array
(
[children] => Array
(
[name] => Snehal Sawant
[title] => intern
)
)
[Snehal Sawant] => Array
(
[children] => Array
(
[name] => Shradhha Deshmukh
[title] => trainee
)
)
)
但是我需要以下输出:
<?php
$value = array (
'name' => 'Ajay Kumar',
'title' => 'general manager',
'children' =>
array (
0 =>
array (
'name' => 'Aniket kumar',
'title' => 'department manager',
),
1 =>
array (
'name' => 'Pratik Mehata',
'title' => 'department manager',
'children' =>
array (
0 =>
array (
'name' => 'Namarta Dongra',
'title' => 'senior engineer',
),
1 =>
array (
'name' => 'Devendra More',
'title' => 'senior engineer',
'children' =>
array (
0 =>
array (
'name' => 'Amol Chiman',
'title' => 'engineer',
),
1 =>
array (
'name' => 'Manish Gudekar',
'title' => 'UE engineer',
'children' =>
array (
0 =>
array (
'name' => 'Snehal Sawant',
'title' => 'Intern',
),
),
),
),
),
),
),
2 =>
array (
'name' => 'Neetu Chauhan',
'title' => 'department manager',
),
3 =>
array (
'name' => 'Swapnil Dalwi',
'title' => 'department manager',
),
),
);
$result = json_encode ($value);
print_r($result);
?>