使用PHP和Codeigniter显示具有不同日期的多个数据

时间:2018-02-08 13:52:29

标签: php codeigniter

我在获取单个患者的多个数据时遇到问题。我只能生成1个体检结果而且我无法全部完成。

我的控制器

public function print_sum_report($case_id){
    //fetching all data from different tables
    $case_id = 1;
    $postnatal_id = 1;
    $this->load->model('Prms_model');
    $data['n_status'] = $this->Prms_model->get_status_f($case_id);
    $data['n_mh'] = $this->Prms_model->get_mh_f($case_id);
    $data['n_pe'] = $this->Prms_model->get_pe_f($case_id);
    $data['n_post'] = $this->Prms_model->get_pn_f($postnatal_id);
    $data['n_infant'] = $this->Prms_model->get_infant_f($case_id);
    $this->load->view('report/reportsum', $data);
    // print_r($data);
  }

我的模特

 public function get_pe_f($case_id){
    // joining 2 tables (physicalexamination and patient_info by ID)
    $this->db->select('*');
    $this->db->from('physicalexamination');
    $this->db->where('case_id', $case_id);
    $this->db->join('patient_info', 'patient_info.patient_ID = physicalexamination.Patient_ID');
    $query = $this->db->get(); 
    return $query->result();
 }

1 个答案:

答案 0 :(得分:0)

$ data ['n_pe']是一个包含许多行的结果对象。您需要迭代它以收集所有行:

foreach($data['n_pe'] as $pe) {
    var_dump($pe);
}

另外,你可以这样写你的模型:

 public function get_pe_f($case_id) {

    // joining 2 tables (physicalexamination and patient_info by ID)
    return $this->db
        ->where('case_id', $case_id)
        ->join('patient_info', 'patient_info.patient_ID = physicalexamination.Patient_ID');
        ->get('physicalexamination')
        ->result();
 }