CI 묻고 답하기

제목 간단한 모델에서의 구문 질문.
글쓴이 닥스훈트 작성시각 2012/06/01 19:04:55
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 15195   RSS
 다음과 같은 모델 구문이 있습니다.


function get_all_categories(){
 $data = array();
 $q = $this->db->get('categories');
 if ($q->num_rows() > 0){
  foreach ($q->result_array() as $row){
   $data[$row['id']] = $row['name'];
  }
 }
 $q->free_result();
 return $data;
}
 

보시다시피 cotegories라는 테이블에서 데이터를 끄집어 내 오는 간단한 구문인데요.
$data[$row['id']] = $row['name']; 
라는 구문이 이해가 잘 안되는군요.

cotegories라는 테이블의 'name'필드의 내용은 그럼 view에서는 어떻게 읽어야 하는건지요?
 
 다음글 콘트롤러에서 파라메터 값을 넘길 시... (7)
 이전글 위젯과 hmvc.. (2)

댓글

변종원(웅파) / 2012/06/03 18:10:39 / 추천 0
모델 자체도 이해가 안되게 만들었네요. 
쿼리문에서 알리아싱 하면 되는데 굳이 foreach를 다시 돌리는... 데이터 양이 별로 없다면 상관없지만
데이터가 많아지면 문제가 되는 모델입니다.

모델에서 $data를 리턴 받아서 뷰에 어떤 변수로 전달을 하시는지요?

뷰에서 전달받은 변수를 찍어보세요. print_r, var_dump 등
foreach에서 $row['id']에 $row['name']을 할당했는데 그렇다고 $row['name']이 없어지는 건 아닙니다.

맥스 / 2012/06/04 12:00:16 / 추천 0
 저렇게 쓰는 경우는 셀렉트 박스 만들때 빼고는 없을것 같습니다.
글고 리턴받은 $data를 view까지 그냥 간다면 $row['id']값으로 빼서 쓰시면 되겠지요.