我有两个模型,第一个依赖于第二个,我需要在第一个的构造函数中调用第二个的方法。
到目前为止,我有这个:
用户
class User extends CI_Model {
protected $_attributes = array();
function __construct() {
parent::__construct();
$this->load->model('musers');
foreach($this->musers->GetProfile() as $key => $val) {
$this->_attributes[$key] = $val;
}
}
function __set($key, $val) {
return $this->_attributes[$key] = $val;
}
function __get($key) {
return $this->_attributes[$key];
}
}
我已将此模型放入autoload
配置文件中,这就是我得到的:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: load
Filename: models/user.php
Line Number: 20
Fatal error: Call to a member function model() on a non-object in path\to\models\user.php on line 9
还有一些奇怪的东西 - 第一个错误(通知)指的是 linereturn $this->_attributes[$key];
而它肯定应该参考 line $this->load->model('musers');
。
我曾尝试在模型musers
之前在自动加载中加载user
模型,但没有任何帮助。我试过搜索这个,但不能很好地制定查询,我相信我的问题有解决方案。
据我了解,这是因为在 CodeIgniter 设法加载加载器类本身之前调用了第二个模型的构造函数,但这很奇怪。