Как вызвать 2 функции модели в одном контроллере функции в codeigniter - PullRequest
0 голосов
/ 20 марта 2019

Я новичок в 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]);
}

В этом коде выше я всегда получаю первый, который я объявил.Я хочу получить getposts и getSinglePost внутри контроллера функции viewAnimals.

Надеюсь, вы мне поможете.Заранее спасибо

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Я думаю, что использование того же имени переменной создает беспорядок.Вы можете попробовать присвоить массиву posts с выводом в нем.

$this->load->model('Show');
$posts['getSinglePostData'] = $this->Show->getSinglePost($postid);
$posts['getPostsData'] = $this->Show->getposts($postid);
$this->load->view('Showimage',$posts);
0 голосов
/ 20 марта 2019

Сделай так в контроллере

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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...