【发布时间】:2011-06-05 11:35:51
【问题描述】:
各位程序员,我可以使用 codeigniter 1.7.3 从另一个模型的代码中加载模型吗?我已经阅读了许多理论和实践的帖子,但没有一个给出最终答案。
我有一个模型,它具有我想对另一个模型执行操作的功能。代码是这样的:
1: $this->load->model('decision_model');
2: $this->decision_model->hello_decision();
第 1 行有效。第 2 行失败如下:
遇到 PHP 错误
严重性:通知
消息:未定义属性:Account_model::$decision_model
文件名:models/account_model.php
我尝试过创建简单的哑模型、更改函数名称、在加载模型时给模型一个别名等等......没有运气
那么,抛开理论,这可行吗?
提前致谢。
【问题讨论】:
-
当一个模型引用另一个模型时(例如,在 RDBM 中使用外键),您通常希望这样做。在这种情况下,原始模型将具有引用链接模型的
decision_model属性。如果您没有这样的模型,则模型不会链接,并且在您的第一个模型中使用$this->load不会将加载的模型链接到任何有用的东西。 -
您可能希望查看基于 CI 但允许这样的事情的 Kohana 框架。
-
我已经阅读了那个帖子,它给出了两个相互矛盾的答案:Phil 说我想使用的代码可以在 CI 中使用,而其他代码则提供了解决方法。那么,哪一个是正确答案,为什么我的代码失败了?谢谢
-
@Guss,这两个模型应该是链接的——这就是我试图访问第二个模型的原因。如果我在原始模型中有引用(我假设您指的是类属性),我将如何初始化它以引用决策模型?谢谢
标签: codeigniter model