CI 묻고 답하기

제목 db result() 값에 추가데이타를 넣고 싶습니다.
글쓴이 천재작곡가 작성시각 2015/05/17 12:34:05
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 14303   RSS
안녕하세요.
초보인지라 너무 막히는 부분이 많네요 ㅜㅜ

$result =  $this->db->get('테이블')->result();

해서 가져온 result 에
특정한값을 추가하려고 해야하는데 방법을 모르겠습니다 ㅜㅜ

아래는 제가 시도하고있는 코드인데요
foreach 문을 돌려서 lecture_count 라는 키를 각 행에 추가하려고 햇는데..
아예 새로운 행으로 따로 추가가 되어버리네요..
붙잡고 2시간넘게 씨름하다가 고수님들께 여쭤보고싶어 질문 올립니다.

부디 좋은 방법을 알려주시면 정말 감사드리겠습니다.
function get_main_best($count=3)
{   
    $db = $this->db;
    
    $db->where('status', '0');
    $db->where('contents !=', '');
    $db->order_by('order_num ASC');
    $db->limit($count);
    
    $result =  $db->get('main_best')->result();
    $data = "";
    foreach($result as $row)
    {   
        $data[] = $row;
        $data[]['lecture_count'] = get_lecture_contents_count($row->lecture_id);       
    }  
    return $data;
}

 다음글 [해결 완료]redirect 시 관련 질문. (5)
 이전글 컨트롤러에서 뷰를 호출할 때 argument를 붙일 수... (2)

댓글

천재작곡가 / 2015/05/17 12:47:24 / 추천 0
자문 자답입니다.

중간 부분을 다음과 같이 바꿧더니 해결됏네요.
 
 $i=0;
    foreach($result as $row)
    {   
        $data[$i] = $row;
        $data[$i]->lecture_count = get_lecture_contents_count($row->lecture_id);
        $i++;
    }
전상민 / 2015/05/17 13:23:44 / 추천 0
아래처럼도 할 수 있습니다.
 
foreach ($result as &$row)
{   
    $row->lecture_count = get_lecture_contents_count($row->lecture_id);
}