질문 Q #10588
Model을 Autoload할 때
유승민 2013-06-17 10:24:23
컨트롤러에서 모델을 호출할 때 $this->load->model('common/common_dao', '별명'); 이런식으로 해서 원하는 이름으로 사용 할 수 있잖아요..
$autoload['model'] = array('model1', 'model2'); autoload는 이런식으로 되는데 기존에 컨트롤러에서 호출할 때 처럼 별명을 설정할 수 없을까요?
답변 7
#1 배강민 2013-06-17 14:42:41
core/Loader.php 를 봤는데, 모델을 부르는 함수 자체에는 별명을 넣을 수 있게 되어있는데

autoload 의 배열을 실행하는단에서는 별명을 안넣는것처럼 보이네요..흠..

제가 잘 못 보는건지 모르겠는데.. 

// Autoload models
if (isset($autoload['model']))
{
$this->model($autoload['model']);
}

으로 호출하고

public function model($model, $name = '', $db_c />
이놈을 호출하는데.. 좀 흠..
#2 배강민 2013-06-17 14:44:40
#3 유승민 2013-06-17 15:00:12
 ㅠㅠ...
$autoload['model'] = array('users_model'=> 'users', 'comments_model'=>'comments', 'auth_model');
$autoload['model'] = array(array('users_model', 'users'), array('comments_model', 'comments'), 'auth_model');

두개 다 안되네요 ㅜㅜㅜㅜㅜㅜ
#4 케이든 2013-06-17 16:47:11
#5 배강민 2013-06-17 17:35:25
역시 코어가 살짝 버그성이군요..

라이딩해서 하면 될듯하긴하지만...ㅋ
#6 한대승(불의회상) 2013-06-17 18:16:11
건들기는 좀 뭐하기도 하고.. ㅡㅡ;;
#7 유승민 2013-06-18 09:31:51
 흐.. 코어 건드려서 수정했습니다 ㅎㅎ...
케이든님이 주신 링크에
foreach ($model as $key => $value)
{
$this->model(is_int($key) ? $value : $key, $value);
}

이대로 해놓고 왜 안되지.. 하고 한참보니까
$this->model(is_int($key) ? $value : $value, $key);
이렇게 해야되네요 위에 파라미터 순서가.. 끆..