[Codeigniter] model에서 다른 model 불러오기
코드이그나이터를 사용하다보면 아주 가끔(?) 모델에서 다른 모델에 있는 함수를 호출하고 싶을 때가 있습니다. 이럴 경우에 어떻게 사용하는지 알아보기로 합니다. 코드이그나이터 2.2.X 를 기준으로 했습니다.
먼저 호출하려고 하는 모델입니다.
class M1_model extends CI_Model
{
function __contruct()
{
parent::__contruct();
}
function f1()
{
echo 'f1() called';
}
}
M2_model에서 M1_model을 사용하고 싶을 때 아래와 같이 사용합니다.
class M2_model extends CI_Model
{
var $ci = null;
function __contruct()
{
parent::__contruct();
$this->ci =& get_instance();
$this->ci->load->model('M1_model');
}
function f2()
{
echo 'f2() called';
$this->ci->M1_model->f1();
}
}
아래 링크를 참고했습니다. 아래 처럼했는데, 2.2.x에서는 안 되는 것 같아서 위와 같이 하니까 되더군요.