제목 | 컨트롤에서 모델에서 가져온 데이터 바꾸는 법은? | ||
---|---|---|---|
글쓴이 | cleansugar | 작성시각 | 2009/07/24 22:03:17 |
|
|||
function detail($name) { $data['result'] = $this->hello_model->getDetail($name); foreach ($data['result'] as $row) { if ($row->sex == 0){ $row->sex = '여자'; }else{ $row->sex = '남자'; }; } foreach ($data['result'] as $row) { if ($row->bigo != null){ $this->load->view('bigodetail_view',$data); }else{ $this->load->view('detail_view',$data); }; } function getDetail($name) { $this->db->where('name', $name); $query = $this->db->get('table1'); if ($query->num_rows() == 0) { //show_error('Database is empty!'); }else{ return $query->result(); } }$row->sex가 0이면 여자고 1이면 남자인데요. 이걸 뷰에서 여자 남자로 표시해주기위해서 컨트롤러에서 위와같이 했습니다. 이렇게 하는 방법이 제일 맞는 방법인가요? 그리고 $data['result'] 데이터를 그대로 쓰면 문제가 아닌데 여기에 새로운 프로퍼티를 추가하려면 어떻게 해야 하나요? 예를 들어 sex는 그냥 두고 sex1이란 걸 만들어서 남자 여자를 넣으려면 컨트롤러에서 하는 것이 맞나요?문제는 데이터가 한명이 아니라 여러명이라서 sex1도 배열이나 객체로 해야한다는 것입니다. 어떻게 해야하죠? 그리고 컨트롤러에서 $data['result'] 를 읽을 때 꼭 foreach를 써야 되나요? n번째 항목에 직접 접근하는 방법은 없을까요? 예를 들면 $data['result']['sex'][n]같은 방법으로 말입니다. 고수님들의 도움 기다리겠습니다. 무더위에 몸조심하시구요. 감사합니다. |
|||
다음글 | [개선요청]한글 매뉴얼 검색 (3) | ||
이전글 | [버그신고]자동로그인했는데 글쓰기 안됨 (1) | ||
kirrie
/
2009/07/24 22:52:14 /
추천
0
|
kirrie
/
2009/07/24 22:53:05 /
추천
0
그리고 말씀하신대로 $data['result']는 배열이므로 그렇게 접근하시면 됩니다.
대신에 $data['result'][n]['sex']가 맞겠지요. |
cleansugar
/
2009/07/25 01:00:51 /
추천
0
고맙습니다. 도움이 많이 되었습니다.
|
cleansugar
/
2009/07/25 13:23:46 /
추천
0
새로운 배열로 옮기면서 추가하는 방법좀 가르쳐주실 수 없을까요? 그리고 새로 만들지 않고 원래것을 고치는 법은 없을까요? |
그런데 생각해보면 단순히 sex값을 가져와서 '다른 표현 방식으로 보여'주기 위함임으로 이 부분은 viwe에서
처리하시는게 어떨까요?