2012-06-24 51 views
0

後返回值我有我的模型作品的形式:笨 - DB的插入

public function addGame($data, $parent_id = '0') { 

    // passing variables from POST 
    ... 

    // insert array 
    $ins = array(
     ... 
    ); 

    $q = $this->db->insert('games',$ins); 
    $last = $this->db->insert_id(); 
    return site_url().'/'.$last.'/'.$slug; 
} 

控制器:

public function addGame() { 

    $this->load->model('contrib_model'); 

    if ($this->form_validation->run()) { 
     $this->contrib_model->addGame($this->input->post()); //submits data 
    } else { 
     $this->layout->view('contribute/addGame', $data); //loads view 
    } 
} 

我的觀點是 - 希望這最後return值返回... 。我使用壓縮,所以我不能echo它(它不會合適)。

我該如何解決這個問題?

+0

你沒有以任何方式使用返回值 – Esailija

+0

是的,因爲我不知道如何。當我使用'echo $ this-> contrib_model-> addGame($ this-> input-> post()); //在控制器中提交數據',它也會引發錯誤。 –

+0

不要回應它,而是將它傳遞給您正在使用的某個視圖。請參閱http://codeigniter.com/user_guide/general/views.html「將動態數據添加到視圖中」部分 – Esailija

回答

1

正如Esailija建議的,我通過創建視圖解決了這個問題。首先,我使用簡單的佈局引擎,所以我必須擺脫它。現在我的控制器看起來像這樣(的重要組成部分):

if ($this->form_validation->run()) { 
     $data['submit'] = $this->contrib_model->addGame($this->input->post()); //submits data 
     $this->load->view('contribute/emptyPage', $data); //loads view 
    } else { 
     $this->layout->view('contribute/addGame', $data); //loads view 
    } 

正如你所看到的,首先裝載的看法是不同的 - 這是純笨視圖。在推動/ emptyPage.php我只有這個:

<?php echo $submit; ?> 

而且它就像它應該 - 只返回新的地址,我可以使用重定向(與header('Location...爲例)。