제목 | 모델에서 모델 가져오기 | ||
---|---|---|---|
글쓴이 | 초원을달리는유부남 | 작성시각 | 2010/01/04 15:41:21 |
|
|||
안녕하세요. 맨날 질문만 하는 유부남입니다. $this->layout->header(); $this->load->view('detail'); $this->layout->footer(); 문제는 layout 를 모델로 쓴 것에서 발생했습니다. 일반적인 모델에서는 다른 모델을 불러 올 필요가 없지만, layout는 다른 모델을 빌려다 써야 하는 얘인거죠. 컨트롤러로 쓰게 되면, 코드처럼 다른 컨트롤러에서 상속하여 사용할 수 없잖아요. 그래서 현재 상항은 layout 모델에서는 다른 모델을 불러와야 하는데, 하지만, 프레임워크에서는 모델의 의존성을 인정할 수 없는 상황이라 못 불러오게 하는것 같아요. 좋은 방법이 없을까요? Demo 모델 클래스 class Demo extends Model { function Demo() { parent::Model(); } function img_src($id) { return 'img/img_' . $id . '.jpg'; } } Layout 모델 클래스 class Layout extends Model { function Layout() { parent::Model(); } function header() { $this->load->model('demo'); // 이부분 $data = array(); $data['img_src'] = $this->demo->img_src(3); // 이부분 $this->load->view('layout/header', $data); } function footer() { $data = array(); $this->load->view('layout/footer', $data); } } 설명이 부족한 부분은 알려주시면, 좀 더 추가하여 코멘트를 남기겠습니다. |
|||
다음글 | $_POST데이터를 다시 VIEW에 보낼때.. (3) | ||
이전글 | CI 세상님 질문 하나 드려도 될까요? (1) | ||
초원을달리는유부남
/
2010/01/04 15:50:59 /
추천
0
|
마냐
/
2010/01/04 16:05:43 /
추천
0
|
초원을달리는유부남
/
2010/01/04 17:58:08 /
추천
0
앗~~ 이런건 어떤 검색어로 검색해야 될지.. ㅋㅋㅋ
이렇게 쓰는방법은 helper와 같은 곳에서 쓰는 방법으로 제공된거라 쓰면 좋지 않을 거라고 생각했었는데, 그건 또 아닌가 보군요~ ^^ 다른 해법이 나오기 전까진 이걸로 사용해야겠네요. 감사합니다. |
초원을달리는유부남
/
2010/01/04 18:17:17 /
추천
0
테스트 해본 결과 조금 고민은 더 해봐야 할 것 같네요. ㅠㅠ
|
변종원(웅파)
/
2010/01/04 18:56:16 /
추천
0
^^
검색어 "다른 모델" |
소울펨
/
2010/01/05 17:12:20 /
추천
0
모델에서 뷰를 사용 하기보단 데이트 처리용도가 편할듯 싶어요 차라리 controler를 만들어서 다른 컨트롤러에서 호출해주는게 좋을듯 싶네요. 아니면 공통 라이브러리로 뽑으셔도 될듯싶어요
정확한 요인은 모르지만 모델에서 모델을 호출하였을때 이상 현상이 발생했던적이 있습니다. |
SADBLUE
/
2011/02/08 14:11:25 /
추천
0
저 같은 경우는 model을 MY_Model로 확장하면서 기본적으로 get_instance를 갖는 변수를 선언해 둡니다.
그리고 모델 내부에서 다른 모델을 불러와야 하는 경우에 controller변수를 통해 load를 해서 $this->oController->model_name 이런식으로 참조를 했었습니다. |
저렇게 공유되는 부분을 helper로 빼서 쓰면 좋을 수도 있지만,
이미지 경로에 대한 정책을 helper로 빼서 쓰기에는 뭔가 분산된 듯한 느낌이 드는것 같아서요.