我的问题是为具有模型的例程(findByPk,FindByAttributes等)创建具有公共函数的超类模型。
对于thjs,我决定创建扩展CI_Model
类的新库,并扩展MY_Model
类的所有模型。
所以我将MY_Model
添加到$autoload['libraries']
数组。
将model
添加到此阵列时,我遇到了错误:
无法加载请求的类:Model
但主要问题是在应用程序启动时我得到:
存在致命错误:Class' CI_Model'找不到
CI_Model
文件夹中的 core
类。所以请说出可能的解释"为什么我无法使用MY_Model在我的库中扩展CI_Model类!"
答案 0 :(得分:10)
使用
$autoload['models']
自动加载模型,而不是$ autoload ['libraries']
答案 1 :(得分:0)
签入
../system/core/Model.php
中。并且您的扩展模型名称与类名相同。application\models\your_model.php
。$autoload['model'] = array('your_model');
答案 2 :(得分:0)
也许已经晚了,但对于未来的读者来说。
在将库加载到控制器类的构造函数中之前,请加载创建的任何模型,然后加载扩展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。 希望对您有帮助