0

我有一个适用于我的模型的表格:

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这样做(无论如何它都不合适)。

我该如何解决这个问题?

4

1 回答 1

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
    }

如您所见,第一次加载视图是不同的——那是纯 CodeIgniter 视图。在contribute/emptyPage.php 我只有这个:

<?php echo $submit; ?>

它的工作原理应该是 - 只返回新地址,我可以用它来重定向(header('Location...例如)。

于 2012-06-24T15:52:51.843 回答