만들면서 배우는 CodeIgniter Q&A

제목 view로 넘기는 값에 대해 질문있습니다.
글쓴이 초보자임 작성시각 2014/09/04 22:57:07
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 9810   RSS
todo 공부하는중인데요
controller에서
$data['list']=$this->todo_m->get_list();
$this->load->view('todo/list_v',$data); 이렇게 view를 로드하면서 $data라는 배열을 넘겨주는데

view에서 받을때 foreach로 받아서 키값으로 반복시켜서 값을 받더라고요

근데 궁금한게 $data라는 2차원 배열을 넘겼으니 var_dump($data['list']); 라고해도 
안에 있는 데이터가 나와야되는데 없다고 하네요...
제가 잘못알고있는건가요
꼭좀 답변부탁드려요
 다음글 pagination에서 segment에 관한 질문있습니... (1)
 이전글 135페이지 내용중에 post() 함수가 언디파인드 펑... (3)

댓글

초보자임 / 2014/09/04 23:17:52 / 추천 0
객체로 반환받아서 echo $list->id;이렇게 해도 안되네요..
변종원(웅파) / 2014/09/04 23:43:42 / 추천 0
뷰에 넘기기전에 모델에서 받은  내용을 먼저 츨력해 보세요.  데이터가 없다면 모델이 잘못 되었을 수도 있구요.
단계별로 디버깅 해보세요
초보자임 / 2014/09/05 11:05:32 / 추천 0
모델에서도 다찍히고 값은 제대로 나오는데 위에처럼 하면 안되네요,.. 
초보자임 / 2014/09/05 11:29:27 / 추천 0
아! 나오네요.. 근데 왜 꼭 key값으로 접근을해야 되는거죠?
변종원(웅파) / 2014/09/05 11:50:52 / 추천 0
php 배열의 종류로 검색해서 객체배열과 일반배열 내용을 보시면 됩니다. ^^

컨트롤러에서 뷰에 2차배열 형태로 전달하고($data['list']) 뷰에서는 윗쪽 배열($data)를 까고(?)
$list 형태로 사용하게 합니다.

왜 그럴까요? 개발하다 보면 컨트롤러에서 뷰에 1개의 배열(데이터)만 전달하지 않거든요.
리스트도 보내고 게시판 정보도 보내고.. 이걸 한개의 배열에 담으면 쓰기 불편해서 2차배열로 넘기고
뷰에서 상위 배열을 안 없애고 그냥 쓰면 $data['list']['title'] 형태가 되어 쓰기 불편하겠죠.
그래서 $list['title'] 또는 $list->title 형태로 쓰게 해준 겁니다.

실제 개발해보시면 이해가 금방 됩니다.
초보자임 / 2014/09/05 12:19:04 / 추천 0
아 원래 php가 그런게 아니라 코드이그나이터에서 그렇게 할수있게 제공해준다는 말씀인거죠?
초보자임 / 2014/09/05 12:23:28 / 추천 0
아그리고 말씀하신거처럼 원래는 $data['list']['title'] 이렇게 써도 나와야되는거 아닌가요?
못쓰게 해놔서 그런건가요?...
변종원(웅파) / 2014/09/05 13:32:37 / 추천 0
제 답글을 잘 읽어보세요.