【问题标题】:The model name you are loading is the name of a resource that is already being used: base_model您正在加载的模型名称是已被使用的资源的名称:base_model
【发布时间】:2012-08-19 20:13:20
【问题描述】:

当我正常加载我的 base_model 时,没关系。但是当我使用 autoload.php 加载 base_model 时,我遇到了一个问题:

您正在加载的模型名称是资源的名称 已被使用:base_model

请帮我解决这个问题!:)

【问题讨论】:

    标签: php codeigniter model


    【解决方案1】:

    一旦你autoloadautoload.php 中的模型,你再次尝试加载相同的文件某个或另一个控制器或模型,这将显示以下错误。

    The model name you are loading is the name of a resource that is already being used: base_model
    

    为了避免这种情况,我建议不要在您 autoload 特定模型后在完整应用程序中的任何位置加载该模型。

    【讨论】:

    • 但是当我使用新名称(例如:abc_model)创建一个新模型并自动加载它时,我仍然遇到这个问题。为什么会发生?我没有在任何地方加载或使用它。
    • 最好查看 codeigniter 用户指南。我知道的几个问题如下 1. 在自动加载文件时,只需键入不带 php 扩展名的文件名。 2. 创建模型文件时,遵循命名约定。像文件名必须小写,如abc_model,然后在定义类时它必须是Abc_Model extends CI_Model等。
    • 我完全按照你说的做了,但是没有用!但是非常感谢您的帮助:)!你能告诉我另一种方式吗:D,兄弟!
    • 我做到了!我发现我需要将默认控制器中的索引函数更改为 __construct。非常感谢!:D
    【解决方案2】:

    为了完整起见,我想参考这个blog post(德语),它建议加载没有名称的模型。

    1 // yes :-)
    2 $this->load->model('stream_model');
    3 $this->stream_model->foo();
    

    而不是

    1 // NO!
    2 $this->load->model('stream_model', 'stream');
    3 $this->stream->foo();
    

    这对我有帮助,因为我没有配置自动加载器,并且模型没有加载到控制器(或其超类)中。

    【讨论】:

      【解决方案3】:

      我知道这是旧帖子... 如果您将parent::__construct 放入任何控制器函数(构造函数除外)中,您会收到此消息。

      【讨论】:

      • 您应该编辑它以使其更清晰,添加详细信息并使用正确的格式。
      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      相关资源
      最近更新 更多