使用视图调用控制器从数据库获取数据的正确方法是什么?

时间:2011-08-25 03:33:49

标签: codeigniter view

我正在制作一个处理多个表格的程序(配方,如何制作说明,指示等),我已经能够添加新配方并将输入表格中提供的数据保存到正确的表格中链接每个的外键。

我做的是在插入新配方后,我会得到插入配方的最新ID然后从模型到控制器和控制器,我会将id传递给视图,如下所示:

$data['recipe_id'] = $this->recipe_model->id;
$this->load->view('template', $data);

然后在视图中,我可以通过以下方式获得传递的id:

<?php echo $recipe_id ?>

我试图打印id,我确实得到了正确的ID。现在,我想知道如何将id传递给控制器​​方法,以便我可以再次查询有关新配方的信息,并让我显示它或者我的解决方案不是一个有效的解决方案,还有另一种更好的解决方法它

如果是这样,我很高兴收到你的来信。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您应该传递实际的模型对象,而不是id:

$data['recipe'] = $this->recipe_model;
$this->load->view('template', $data);

这样就无需回叫控制器来获取配方信息。

如果你真的坚持,你可以实现一个helper函数或library函数使用CI对象加载你的模型,但你最好只是复制保存的配方对象进入视图数据。