【问题标题】:How To Use Model Of Another Application in Codeigniter如何在 Codeigniter 中使用另一个应用程序的模型
【发布时间】:2011-07-20 05:53:39
【问题描述】:

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

网站

  • 系统
  • 应用
    • font_end
    • 后端

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

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

谢谢。

【问题讨论】:

    标签: codeigniter model


    【解决方案1】:

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

    如果可以的话,最好的办法是使用符号链接并将它们链接到模型目录的子目录中。这将是简单而干净的。

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

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

    【讨论】:

      【解决方案2】:

      我尝试了您的上一个版本(我知道容易出错)并得到以下结果: 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)

      【讨论】:

        【解决方案3】:

        admin/application/model/accounts_model.php 应用程序/控制器/home.php

        将此代码放在home.php中以使用管理员应用程序的模型

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

        【讨论】:

          猜你喜欢
          • 2011-12-22
          • 2018-03-24
          • 2019-07-10
          • 1970-01-01
          • 1970-01-01
          • 2019-05-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多