Computer >> Máy Tính >  >> Lập trình >> PHP

Gọi thủ tục được lưu trữ bên trong foreach PHP Codeigniter

Mã bên trong 'Mô hình' và 'Bộ điều khiển' cần được thay đổi để bao gồm mã được hiển thị bên dưới -

Bên trong 'Bộ điều khiển'

$header = $this->model_name->call_head();
foreach($header as $item) {
   $name = $item['name'];
   $array['name'] = $name;
   $array['data'] = $item['data'];
   $child_val = $this->model_name->call_child($name);
   foreach($child_val as $value) {
      $array['child'] = array(
         'child_name' => $value['child_name'],
         'child_data' => $value['child_data']
      );
   }
}

Bên trong 'mô hình'

public function call_head() {
   $query = "CALL PROCEDURE_HEAD()";
   $result = $this->db->query($query)->result_array();
   $query->next_result();
   $query->free_result();
   return $result;
}
public function call_child($name) {
   $query = "CALL PROCEDURE_CHILD($name)";
   $result = $this->db->query($query)->result_array();
   $query->next_result();
   $query->free_result();
   return $result;
}