2012-06-24 3 views
0

후 내 모델 작동하는 형태를 갖는다 :CodeIgniter의 반환 값 DB의 삽입

public function addGame($data, $parent_id = '0') { 

    // passing variables from POST 
    ... 

    // insert array 
    $ins = array(
     ... 
    ); 

    $q = $this->db->insert('games',$ins); 
    $last = $this->db->insert_id(); 
    return site_url().'/'.$last.'/'.$slug; 
} 

컨트롤러 :

public function addGame() { 

    $this->load->model('contrib_model'); 

    if ($this->form_validation->run()) { 
     $this->contrib_model->addGame($this->input->post()); //submits data 
    } else { 
     $this->layout->view('contribute/addGame', $data); //loads view 
    } 
} 

내 말은 -이 마지막 return 값을 원하는 ... 반환을 . 압축을 사용하므로 echo (어쨌든 apropriate이 아닐 수는 없습니다) 할 수 없습니다.

어떻게 해결할 수 있습니까?

+0

어떤 식 으로든 반환 값을 사용하지 않습니다. – Esailija

+0

예, 이유를 모르므로 예. 내가'echo $ this-> contrib_model-> addGame ($ this-> input-> post()); // 데이터를 컨트롤러에 제출하면 오류가 발생합니다. –

+0

에코를 사용하지 않고 사용중인 일부보기로 전달하십시오. http://codeigniter.com/user_guide/general/views.html '동적 데이터 추가하기'섹션 – Esailija

답변

1

Esailija가 제안했듯이 필자는보기 생성과 함께이 문제를 해결했습니다. 우선, 간단한 레이아웃 엔진을 사용하고 있으므로 제거해야합니다. 이제 내 컨트롤러이 (중요한 부분)과 같습니다

if ($this->form_validation->run()) { 
     $data['submit'] = $this->contrib_model->addGame($this->input->post()); //submits data 
     $this->load->view('contribute/emptyPage', $data); //loads view 
    } else { 
     $this->layout->view('contribute/addGame', $data); //loads view 
    } 

당신이 볼 수 있듯이, 최초의로드 뷰가 다르다 - 즉, 순수 CodeIgniter의보기이다.

<?php echo $submit; ?> 

그리고 그것이해야처럼 작동 - I (예 : header('Location...로) 리디렉션하는 데 사용할 수있는 만 반환 새 주소 : 기여/emptyPage.php에서 나는 단지이 있습니다.