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

[版本 3.x] ci3.0使用hmvc的问题,帮忙解答下,谢谢

[复制链接]
发表于 2016-8-8 17:24:05 | 显示全部楼层 |阅读模式
如果我有两个公共模块header和footer,都要使用到 model中的users_model,
如果我在header中调用了$this->load->model('users_model','user');  
我在footer中调用$this->load->model('users_model','user'); 就报错,
连使用$this->uri->segment(4);也报错
发表于 2016-8-9 09:11:43 | 显示全部楼层
报错内容是啥?直接在构造函数里引用一次model试试
 楼主| 发表于 2016-8-9 09:34:37 | 显示全部楼层
本帖最后由 蹲厕抽_e11bs 于 2016-8-9 09:39 编辑

试了,还是不行,只在一个模块调用就没问题,在两个模块调用就出问题,是不是modules下面的模块,不能同时调用一个models下的模型,如果我调用不同的模型就不会报错
123.png
222.png
发表于 2016-8-9 09:44:12 | 显示全部楼层
models里没看到subnav_menu_model
 楼主| 发表于 2016-8-9 09:48:00 | 显示全部楼层
本帖最后由 蹲厕抽_e11bs 于 2016-8-9 09:49 编辑

因为我没有 subnav_menu_model 这个模型,我只有 menu_model ,
如果在 header 和 subnav任何一个子模块的控制器中调用不会有任何问题,但在两个控制器中调用就会出问题
$this->load->model('Menu_model','menu');
连 $this->uri->segment(3);  都只能在一个子模块里使用
发表于 2016-8-9 09:58:31 | 显示全部楼层
你再config下的autoload.php自动载入这个model,控制器直接用试试
发表于 2016-8-9 10:25:32 | 显示全部楼层
你确定是uri不是url
 楼主| 发表于 2016-8-9 11:28:33 | 显示全部楼层
陌路誓言 发表于 2016-8-9 10:25
你确定是uri不是url

是uri
发表于 2016-8-10 10:19:46 | 显示全部楼层
那是因为你每次使用load函数都会引入一个文件的  所有不能多次引入同一个文件  如果你要非要在公共模块里调用的话就直接在__construct()函数里$this->load->model('users_model','user');  就行了
发表于 2016-8-10 11:15:14 | 显示全部楼层
你的 CI 版本是 3.X 还是 2.X?

本版积分规则