CodeIgniter中的数组到字符串转换错误?

时间:2018-06-25 08:25:56

标签: arrays codeigniter foreach

这是代码

我的控制器文件

public function view_resume($id)
{
    $this->load->model('ORB_Model');

    $data['get_masterData'] = $this->ORB_Model->get_masterData($id);
}

我的模型文件:

public function get_educationData($id)
    {
        return $this->db->get_where('edu_tb',['edu_id'=>$id],2)->result_array();
    }

我的查看文件:

<?php
     print_r($get_educationData);
die;
// output array()
foreach ($get_educationData as $key){
?>
 value="<?php echo $key->['edu_name']; ?>"
 <?php
} 
?>

现在,当我print_r我的$ get_educationData时,它将仅提供空array()。 我的数据不是来自模型。 在我的视图文件中,那里什么都没有显示。

1 个答案:

答案 0 :(得分:0)

您的控制器应如下所示:

您还必须像这样在控制器中调用get_educationData方法:

public function view_resume($id)
{
    $this->load->model('ORB_Model');

    $data['get_masterData'] = $this->ORB_Model->get_masterData($id);
    $data['get_educationData'] = $this->ORB_Model->get_educationData($id);

    /* load view here like this */
    $this->load->view('your_view' ,$data);
}

您的模型get_educationData应该是这样的:

public function get_educationData($id)
{
    if ( ! empty($id))
    {
        $query = $this->db->get_where('edu_tb', array('edu_id' => $id));
    }
    else
    {
        $query = $this->db->get('edu_tb');
    }

    if ($query->num_rows() > 0)
    {
        return $query->result_array();
    }
}

您的视图应如下所示:

由于返回数据采用数组形式,因此请使用数组代替对象符号

<?php
//print_r($get_masterData);
//print_r($get_educationData);
if ( ! empty($get_educationData))
{
   foreach ($get_educationData as $item)
   {
      echo $item['edu_name'];
   } 
}
?>