将数据从Controller发送到View或View中有逻辑吗?

时间:2011-06-28 06:54:57

标签: php mysql codeigniter cakephp

我有一个网页,我试图根据正在浏览的页面的类别创建一个上下文菜单。如果类别位于animals,则基于细分的网址将包含animal,即。 http://www.mywebbie.com/livingthings/display/category/animals

要构建上下文菜单,我需要使用subcategorysubcat_idsubcat_name列访问我的数据库表cat_id并选择{{1}的所有行对应于cat_id的那个。

我应该从控制器访问数据库(通过模型方法),然后将包含子类别名称的数组传递给视图吗?或者是否应该在视图中完成所有操作,其中有代码加载返回子类别数组的模型方法?

不过,我正在使用PHP框架Codeigniter。

2 个答案:

答案 0 :(得分:3)

是的,控制器负责与模型通信并处理数据,视图负责呈现数据。

从控制器向视图提供数据,以最简单的形式,让我们说一个简单的数组。

答案 1 :(得分:3)

不熟悉CI,但如果您有某种ActiveRecord或ORM,则将getAllSubCats()方法添加到类别(?)实体,并在循环浏览类别时调用它。

如果以上内容没有意义:View甚至不知道数据库是否存在,那么要回答您的问题,请在Controller中执行。或者更好的是,在模型中进行提取并将结果传递回Controller。