제목 | 데이터를 view에 전달하는데 있어서 막혔습니다. | ||
---|---|---|---|
글쓴이 | 수야디벨 | 작성시각 | 2012/11/18 21:43:37 |
|
|||
안녕하세요? 요새 날씨 많이 추워졌는데 다들 감기 조심하시구요~^^ 공부를 하다가 막히는 부분인데, 이렇게 막힌 적이 한두번이 아닌데 , 이제서야 물어보네요 ㅠ 우선 코드를 먼저 풀어보자면요 (이해하기 쉬우시도록) controller 에서 아래와 같이 모델을 호출합니다.(모델 이름은 'model' 사용하려는 함수는 getAll() ) $this->load->model('model'); $q['data'] = $this->model->getAll(); $this->load->view('test',$q);// -1 model에서는 특정 테이블의 값을 리턴합니다. function getAll(){ $this->db->select('key'); $this->db->select('secret'); $q = $this->db->get('tablekey'); return $q->result(); } 그러면 1번에서 처럼 $q값을 던지면 view에서는 아래와 같이 사용할 수 있지요. <? foreach($data as $r) : echo $r->key."<br/>"; echo $r->secret; endforeach; ?> 여기까직은 정말 참 ~ 알겠거든요!? 그런데 던지려는 데이터가 , 모델에서 리턴 받은 값 + @ 가 있다면, 이를 어떻게 던져 줘야 할까요? 즉, 위에서는 $this->load->model('model'); $q['data'] = $this->model->getAll(); $this->load->view('test',$q);// -1 모델에서 던져 받은 변수 $q만 던져주지만 여기에서 $addata ='project'; 라는 값도 던져 주려면 어떻게 해야하나요? $this->load->model('model'); $q['data'] = $this->model->getAll(); $addata['data2'] ='project'; $this->load->view('test',$q);// -1 $this->load->view('test',$adddata);// -2 이렇게 던져 주니까 view가 2번 불려지더라구요 .. 어떻게 방법이 없을까요? |
|||
다음글 | 세션 질문입니다. (4) | ||
이전글 | mpdf 출력시 한글이 깨짐 현상 (6) | ||
유마
/
2012/11/19 09:04:49 /
추천
0
|
한대승(불의회상)
/
2012/11/19 12:40:00 /
추천
0
유마님 의견에 한표...
조금 더 세련(?)되 보이게 하려면... $data = array($q, $adata); $this->load->view("test", $data); |
변종원(웅파)
/
2012/11/19 14:02:03 /
추천
0
$q['data'] 로 왜 힘들게 2차 배열을 만들어서 보낼까요? 그냥 $q로 보내도 될건데요. ^^
유마님, 불의회상님 말씀처럼 하나의 변수에 담아서 한번에 넘기기 위해서 그렇습니다. 매뉴얼에도 나올건데요. ^^ |
예로 들면,
모델에서 리턴 받는 값이면 객체가 들어 있을 겁니다.
$q['data'].addata = 'project';
or $q['data']->addata = 'project';
요렇게는 안해봐서 될지 모르겠네요.
이렇게 안되면.
$q['data']['addata'] = 'project'
뭐 이렇게 하시면 될 겁니다.
여튼 이런식으로 하시고 $q 값 던지시면 될 겁니다.
더 나은 방법은 밑에 분이 적어주실 겁니다. ㅎㅎ