Php 如何在codeigniter的一个函数控制器中调用2个模型函数

Php 如何在codeigniter的一个函数控制器中调用2个模型函数,php,codeigniter,Php,Codeigniter,我是codeigniter的新手,所以请帮助我解决我的问题 我想在一个函数控制器中调用我的两个模型函数。这是我的两个模型函数: public function getposts($postid){ $this->db->select('*'); $this->db->from('tbl_endangered'); $this->db->where(['endangeredid'=>$postid]); $query = $

我是codeigniter的新手,所以请帮助我解决我的问题

我想在一个函数控制器中调用我的两个模型函数。这是我的两个模型函数:

public function getposts($postid){
    $this->db->select('*');
    $this->db->from('tbl_endangered');
    $this->db->where(['endangeredid'=>$postid]);
    $query = $this->db->get();
    return $query->result();
}

public function getSinglePost($postid){
    $this->db->select('*');
    $this->db->from('tbl_images');
    //$this->db->join('tbl_images');
    $this->db->where(['endangeredid'=>$postid]);
    $query = $this->db->get();
    return $query->result();
}
这是我的功能控制器:

public function viewAnimals($postid){
    if(!$this->session->userdata("id") )
        return redirect("AuthCon/login");

    $this->load->model('Show');
    $posts = $this->Show->getSinglePost($postid);
    //$posts = $this->Show->getposts($postid);
    $this->load->view('Showimage',['posts'=>$posts]);
}
在上面的代码中,我总是得到我声明的第一个。我想在函数viewAnimals控制器中获取getposts和getSinglePost


希望你能帮助我。提前感谢

我认为使用相同的变量名会造成混乱。 您可以尝试将输出分配到
posts
数组

$this->load->model('Show');
$posts['getSinglePostData'] = $this->Show->getSinglePost($postid);
$posts['getPostsData'] = $this->Show->getposts($postid);
$this->load->view('Showimage',$posts);

在控制器中执行此操作

public function viewAnimals($postid){

  if(!$this->session->userdata("id"))
      return redirect("AuthCon/login");

  $this->load->model('Show');
  $data['images'] = $this->Show->getSinglePost($postid);
  $data['endangered'] = $this->Show->getposts($postid);
  $this->load->view('Showimage', $data);
}
另一种方法是使用
join()
和一个模型函数

public function getSinglePost($postid){

  $this->db->select('*');
  $this->db->from('tbl_images');
  $this->db->join('tbl_endangered', 'tbl_endangered.endangeredid = tbl_images.endangeredid');
  $this->db->where('tbl_images.endangeredid', $postid);
  return $this->db->get()->result();
}