Здесь вы ошибаетесь:
foreach($get_userid as $user){
$data["get_employee_code"] = $this->report->get_user_employee_code($user['user_id']);
}
Здесь вы перезаписываете $data["get_employee_code"]
с каждой итерацией. В конце все, что осталось в этом массиве, является последним значением, "500006". Вероятно, вы хотели сделать следующее:
$data["get_employee_code"][] = // <- note the extra brackets
Но я также чувствую, что вы неправильно выводите свое представление:
foreach($permit_user_id as $user){
foreach($get_employee_code as $employee_code){
print_r("User_id:".$user['user_id']." Employee_code:".$employee_code['employee_code']."<br>");
}
}
Это означает, что для каждого пользователя вы также выведите каждый идентификатор сотрудника, а не только идентификатор этого пользователя, в результате чего:
User_id: 10001 Employee_code: 500001
User_id: 10001 Employee_code: 500002
User_id: 10001 Employee_code: 500003
User_id: 10001 Employee_code: 500004
User_id: 10001 Employee_code: 500005
User_id: 10001 Employee_code: 500006
User_id: 10002 Employee_code: 500001
User_id: 10002 Employee_code: 500002
User_id: 10002 Employee_code: 500003
User_id: 10002 Employee_code: 500004
User_id: 10002 Employee_code: 500005
User_id: 10002 Employee_code: 500006
... and so on ...
Вместо всего этого вам нужно написать один запрос, который получает все необходимые данные в модели:
public function get_user_and_employee_ids_from_manager_id($manager_id){
$sql = 'SELECT user.user_id, user.employee_id FROM user JOIN manager ON user.user_id = manager.user_id WHERE manager.manager_id = "'.$manager_id.'"';
$query = $this->db->query($sql);
if ($query->num_rows() > 0) {
$data = $query->result_array();
}
return $data;
}
Теперь этот $data
- это массив, содержащий строки с парными идентификаторами пользователей и сотрудников, которые вы можете передать в свое представление и просто вывести, используя один foreach
.
Кроме того, я не знаю, что используется в фоновом режиме для запросов в БД, но найду способ параметризации ваших запросов. Непосредственная вставка параметров в запрос, подобный этому, unsafe .