2016-05-06 6 views
0

У меня есть эта модель функции:Возвращение Информация к контроллеру от модели в CodeIgniter

 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

Почему бы не позвонить 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> 
Смежные вопросы