我有一个与我的模型一起使用的表单:
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 :(得分: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视图。在contrib / emptyPage.php我只有这个:
<?php echo $submit; ?>
它的工作原理应该只返回新地址,我可以用它来重定向(例如header('Location...
)。