如何在Codeigniter中使用另一个应用程序的模型

时间:2011-07-20 05:53:40

标签: codeigniter model

我正在开发一个项目,我在同一站点中创建了两个应用程序。 我的结构如下......

SITE

  • SYSTEM
  • 应用
    • FONT_END
    • back_end

现在我的问题是,是否可以从另一个应用程序访问一个应用程序的模型。

例如,我在font_end应用程序中有一个名为“User_model”的模型。是否可以从back_end应用程序中使用此模型。

感谢。

3 个答案:

答案 0 :(得分:1)

是的,这是可能的,但有一个但是。绝对意义上你的文件在哪里并不重要,但它不一定是世界上最容易完成的事情。

最好的办法是使用符号链接,并将它们链接到models目录的子目录中。这将简单而干净。

除此之外,您应该扩展Loader并覆盖&model方法以查看辅助目录(如果$path == 'frontend',可能会将$ path重新分配给备用应用程序的模型文件夹。)

如果这也不是一个选项,则通过APPPATH.'models/'.$path . '/' .$model.EXT加载。这意味着您可以通过APPPATH.'models/'的相对路径访问模型。但是,如果可以避免,请不要这样做。这是不明显的,也是对错误的邀请。

答案 1 :(得分:0)

我尝试了你的上一个版本(我知道容易出错)并得到了这个结果: Unable to locate the model you have specified: ext.

我使用此加载代码从后端访问前端模型:

$this->load->model('APPPATH.'/models/frontend/'Frontend_Model'.'EXT');

应该像变量一样使用apppath和ext常量,但如果我这样说,我的记事本++突出显示错误:

$this->load->model(APPPATH.'/models/hp/'Homepage_Model'.EXT)

答案 2 :(得分:0)

管理员/应用/模型/ accounts_model.php 应用/控制器/ home.php

将此代码放在home.php中以使用admin applicaton

的模型
        $this->load->model('../../../Unicorn/application/models/accounts_model');