如何在Codeigniter中的控制器内部查看数组结果

时间:2018-09-28 06:30:57

标签: php codeigniter

我坚持从模型中获取值并在控制器中处理它。我是Codeigniter的新手。我的模型代码是这样:

    public function display_cat_courses($value)
    {
        $this->db->select('*');
        $this->db->from('courses_tbl');
        $this->db->join('course_category_tbl', 'courses_tbl.course_category_id = course_category_tbl.id');
        $this->db->where('course_category_id', $value);
        $query = $this->db->get();
        return $query->result();
    }

我的控制器是这个

    public function view()
    {   
        $this->load->model('Category_model');
        $cat_id = $this->uri->segment(3);
        $data['category']=$this->Category_model->display_cat_courses($cat_id);
    }

我只想从course_category_tbl中获取一个列值,并将其存储在数组中作为数组元素以供以后处理。模型可以正常工作,但是在我的控制器中,我想将“ course_type”存储在course_category_tbl中。如何获得。

3 个答案:

答案 0 :(得分:1)

您只能选择必填列:

$this->db->select('course_category_tbl.course_type');

答案 1 :(得分:1)

从控制器中的模型成功获取数组格式的所有数据后,您只需要为某个目的使用数组中的一个字段数据。为此,您可以使用

$field_values_array = array_column($whole_array, 'field_name');
print_r($field_values_array );

通过此代码,您将以数组格式获得该列字段的所有值,然后可以将其传递给视图以进行进一步处理。

答案 2 :(得分:0)

如果通过传递类别ID仅获得一行,则可以在模型中代替

$query = $this->db->get();
来添加put
$this->db->row_array()
,这将为您提供一维数组,然后从结果$query中可以通过传递索引来访问所需的元素。 例如 $query['course_type']将为您提供课程类型