【问题标题】:Fatal error: Class 'CI_Model' not found in致命错误:找不到类“CI_Model”
【发布时间】:2014-02-21 16:10:03
【问题描述】:

我的问题是为带有模型的例程(findByPk,FindByAttributes等)制作具有通用功能的超级模型类。

对于 thjs,我决定创建扩展 CI_Model 类的新库,并从 MY_Model 类扩展所有模型。

所以我将MY_Model 添加到$autoload['libraries'] 数组中。

model 添加到此数组时出现错误:

无法加载请求的类:模型

但主要问题是在应用程序启动时我得到:

致命错误:未找到“CI_Model”类

core 文件夹中的CI_Model 类存在。所以请说出“为什么我不能用 MY_Model 在我的库中扩展 CI_Model 类!”的解释可能是什么?

【问题讨论】:

  • 请出示您的代码
  • 您是在 application/core/ 文件夹中创建模型吗?

标签: codeigniter fatal-error


【解决方案1】:

使用

$autoload['models']

用于自动加载模型,而不是 $autoload['libraries']

【讨论】:

    【解决方案2】:

    签到


    • 类 CI_Model 应该在 ../system/core/Model.php 中。并且您的扩展模型名称与类名称相同。
    • application\models\your_model.php 中创建您的模型。
    • $autoload['model'] = array('your_model');

    【讨论】:

      【解决方案3】:

      也许为时已晚,但对于未来的读者而言。

      在控制器类的构造函数中加载库之前,加载您创建的任何模型,然后加载扩展 CI_model 的库。 检查以下内容:

          public function __construct() {
          parent::__construct();
          $this->load->model('User_model');
          $this->load->helper('url_helper');
          $this->load->library('session');
          $this->load->library('form_validation');
          $this->load->library('admin_auth');
          $this->load->helper(array('form', 'url'));
          }
      

      如您所见,我已经加载了 User_model,然后是 admin_auth。 希望这会有所帮助

      【讨论】:

        猜你喜欢
        • 2014-03-24
        • 1970-01-01
        • 2013-07-29
        • 2014-10-03
        • 1970-01-01
        • 2011-09-08
        • 2011-12-17
        • 2018-12-21
        相关资源
        最近更新 更多