2016-05-06 32 views
0

我有了這個模型功能:返回信息,從模型控制器笨

 public function set_news() 
     { 
      $this->load->helper('url'); 

      $slug = url_title($this->input->post('title'), 'dash', TRUE); 

      $data = array(
       'title' => $this->input->post('title'), 
       'slug' => $slug, 
       'text' => $this->input->post('text') 
      ); 

      return $this->db->insert('news', $data); 
     } 

在哪裏,你可以看到,有一個叫$slug變量。 我調用這個函數的方式是通過一個控制器:

public function create() 
     { 
      $this->load->helper('form'); 
      $this->load->library('form_validation'); 

      $data['title'] = 'Create a news item'; 

      $this->form_validation->set_rules('title', 'Title', 'required'); 
      $this->form_validation->set_rules('text', 'Text', 'required'); 

      if ($this->form_validation->run() === FALSE) 
      { 
       $this->load->view('templates/header', $data); 
       $this->load->view('news/create'); 
       $this->load->view('templates/footer'); 

      } 
      else 
      { 
       $var = $this->news_model->set_news(); 
       $this->load->view('news/SLUG/'); 
      } 
     } 

現在,我試圖找出如何做的是使用在控制器$slug變量,以加載文章的view剛剛發佈 - 但我不知道如何訪問該數據提交到數據庫後的變量。

+0

嘗試'$回報slug' 。然後'$ this-> load-> view($ slug);' – urfusion

+0

如果我返回slug,那麼數據不會發布到數據庫 - 因爲現在返回觸發器將數據放入數據庫。 – GrumpyCrouton

+0

爲什麼不在Controller中再次調用url_title()? –

回答

0

你可以用這個

控制器嘗試

public function create() 
     { 
      $this->load->helper('form'); 
      $this->load->library('form_validation'); 

      $data['title'] = 'Create a news item'; 

      $this->form_validation->set_rules('title', 'Title', 'required'); 
      $this->form_validation->set_rules('text', 'Text', 'required'); 

      if ($this->form_validation->run() === FALSE) 
      { 
       $this->load->view('templates/header', $data); 
       $this->load->view('news/create'); 
       $this->load->view('templates/footer'); 

      } 
      else 
      { 
       $var['r'] = $this->news_model->set_news(); 
       $this->load->view('news/SLUG', $var); 
      } 
     } 

模型news_model.php

public function set_news() 
     { 
      $this->load->helper('url'); 

      $slug = url_title($this->input->post('title'), 'dash', TRUE); 

      $data = array(
       'title' => $this->input->post('title'), 
       'slug' => $slug, 
       'text' => $this->input->post('text') 
      ); 

      $this->db->insert('news', $data); 

      $id = $this->db->insert_id(); 

      return $this->db->get_where('news', array('id' => $id))->result(); 
     } 

查看新聞/ SLUG.php

<pre> 
    <?php var_dump($r);?> 
</pre>