用户
 找回密码
 入住 CI 中国社区
搜索
12
返回列表 发新帖
楼主: kunwsk
收起左侧

[HELP] M层文件能相互引用吗?

[复制链接]
 楼主| 发表于 2009-8-18 15:49:21 | 显示全部楼层
本帖最后由 visvoy 于 2009-8-18 16:55 编辑

index.php 我改成成 error_reporting(E_ALL ^ E_NOTICE);
然后报错
Call to a member function get_category_name_by_id () on a non-object
发表于 2009-8-18 15:55:26 | 显示全部楼层
这个错误提示很明显啊,没有实例化对象就直接调用了里面的方法。
发表于 2009-8-18 15:59:18 | 显示全部楼层
本帖最后由 saturn 于 2009-8-18 16:00 编辑
7楼的我试过 那样写不行
  它会报错
  Message: Undefined property: article_model:: $category_model

8楼 感觉好像你是赞同我上面的意见在c层那样处理是不  你能不能明确一点~~~~你的解决方法。 猜起来一是好费 ...
kunwsk 发表于 2009-8-18 15:17

。。。。
作为8楼的,我并没有说赞成你的做法。看来我上面那段话白写了,你还是没明白呢。
那就直白一点吧,你是不是想在一个Model里面调用两一个model对象?这样不好,原因我上面写过了,这样的做法违反了MVC的思想。按你现在的需求,将这两个model之间的调用关系放到控制器里面去。
 楼主| 发表于 2009-8-18 16:12:42 | 显示全部楼层
本帖最后由 kunwsk 于 2009-8-18 16:13 编辑

$category=  new Category_model();
所以还是得先这样

可能我还不很明白mvc 吧 ~~不过你最后还是把代码写在了c层。和我前面说的没有冲突
发表于 2009-8-18 16:22:53 | 显示全部楼层
PHP复制代码
 $this->load->model('category_model');
然后
$this->category_model->get_category_name_by_id();
复制代码


这样应该可以。
发表于 2009-8-18 16:37:49 | 显示全部楼层
我觉得还是应该放到控制器中,由控制器来确定到底要如何组装最终的数据。
如果模型有一些公共的方法,可以做成 MY_Model
也就是写一个父类,所有模型都从此父类继承,这个父类里可以写一些公共的方法。
 楼主| 发表于 2009-8-18 16:39:27 | 显示全部楼层
咦~~~
这个方法好~~~~可以想下
发表于 2009-8-18 16:55:06 | 显示全部楼层
index.php 我改成成 error_reporting(E_ALL ^ E_NOTICE);
然后报错
Call to a member function get_category_name_by_id () on a non-object
kunwsk 发表于 2009-8-18 15:49

你的代码有问题,我在model都是这么互调
 楼主| 发表于 2009-8-18 16:57:25 | 显示全部楼层
哦~~那我在仔细看下
可能是哪里少了点什么

本版积分规则