Загрузка и использование модели codeigniter из другой модели
коллеги-кодеры, используя codeigniter 1.7.3 могу ли я загрузить модель из кода другой модели? Я прочитал много теоретических и практических постов, но ни один не дал окончательного ответа.
У меня есть модель, которая имеет функцию, в которой я хотел бы выполнять операции на другую модель. код выглядит так:
1: $this->load->model('decision_model');
2: $this->decision_model->hello_decision();
строка 1 работает. строка 2 не выполняется следующим образом:
обнаружена ошибка PHP
Серьезность: Обратите Внимание
Сообщение: неопределенное свойство: Account_model::$decision_model
Имя файла: models / account_model.в PHP
Я попытался создать простые тупые модели, изменил имена функций, дал модели псевдоним при загрузке и т. д... не повезло!--2-->
Итак, теория в сторону, это выполнимо?
спасибо заранее.
4 ответов
вы можете сделать это так:
class User_model extends Model
{
function get_something()
{
$CI =& get_instance();
$CI->load->model('profile_model');
return $CI->profile_model->get_another_thing();
}
}
попробуйте это:
$this->load->model('decision_model');
$CI =& get_instance();
$CI->decision_model->hello_decision();
вы также можете добавить private $_ci;
переменной класса и инициализировать его в конструкторе.
public function __construct($input=null)
{
$this->_ci =& get_instance();
if ( $input != null && is_array($input) ) {
$this->populate($input);
}
}
тогда он будет доступен для любой функции, с которой вы работаете, не нужно get_instance()
повсюду.