用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3695|回复: 8
收起左侧

[已解决] View 里面怎么访问数据库?

[复制链接]
发表于 2010-1-21 15:07:10 | 显示全部楼层 |阅读模式
因为我的前台页面经常会改动。 如果我把所有的数据访问都写在Controller里面的话。我每次改动页面都要改动Controller.

所以我想,我可以把主要的必须的数据放到Controller里面,那些不一定需要的可以写在一个Tag或者Helper里面,这样当我的页面需要哪部分数据的时候我就调用这个Tag或者Helper. 就不要每次改动Controller.并且还能增加重用性。

请问。CI中除了Controller中可以访问数据库, 在helper中或者view中可以使用CI的数据库操作方法么?
发表于 2010-1-21 15:25:52 | 显示全部楼层
控制器/视图访问数据库完全一样的写法
 楼主| 发表于 2010-1-21 15:31:26 | 显示全部楼层
非常感谢。  还有个问题:
View里面的this 和Controller里面的this 是一个么?
View是php页面啊 不是类,为什么也能用this.
发表于 2010-1-21 15:37:20 | 显示全部楼层
不是一个this,但this->里面的对象一样
详见class CI_Loader和class CI_Output源码
发表于 2010-1-21 17:18:21 | 显示全部楼层
视图里执行数据库操作,可以参考我发布的 HMVC 扩展。论坛搜索 HMVC
发表于 2010-1-28 00:09:29 | 显示全部楼层
另一种方案:
PHP复制代码
$CI = &get_instance();
$ci->load->('model_name');
$ci->model_name->foo();
复制代码
发表于 2010-1-28 09:15:06 | 显示全部楼层
我觉得到VIEW里面直接使用model不太好,把mvc的结构弄乱了。
发表于 2010-2-4 10:27:44 | 显示全部楼层
严重支持楼上的

mvc的目的就是为了 把一些东西分开
CIer  发表于 2013-6-6 23:30:24
View 里面建议不要直接访问数据库,

本版积分规则