如何直接在Codeigniter中的控制器内使用模型的结果?

时间:2016-02-11 22:43:49

标签: php codeigniter

我创建了以下模型(见下文)。我设法从我的数据库中获取数据,并通过创建名为$data['get_company']的变量将生成的结果发送到视图。但是,我无法弄清楚如何在不使用foreach循环的情况下从Controller中的模型中使用这些结果。

模型

class Company_model extends CI_Model
{
    public function fetch_company($id = NULL) {

        $this->db->select('*');
        $this->db->where('customer_company_profiles_id', $id);
        $this->db->from('customer_company_profiles');
        $this->db->order_by('customer_company_profiles_id', 'desc');
        $this->db->limit(1);
        $query = $this->db->get();
        if($query->num_rows() == NULL)
        {
            return false;
        }
        else
        {
            return $query->result();
        }

    }

}

控制器

public function index($id = NULL)
{
    $id = $this->input->get('id'); 
    $data['get_company'] = $this->Company_model->fetch_company($id);
    $this->load->view('includes/header');
    $this->load->view('company/company_index', $data);
    $this->load->view('includes/footer');
}

是否有像$something_something->get_company->get_this_row('ID')这样的函数,以便我可以避免在控制器中使用foreach循环,如何继续?

1 个答案:

答案 0 :(得分:2)

而不是return $query->result(),请在模型中使用return $query->row()。这将返回一行,您可以正常访问,而不必首先引用数组。

E.g。在您的视图中,您可以这样做:

echo $get_company->title;

Relevant section in CI manual.