2014-12-04 4 views
1

CodeIgniter에서 양식을 채우려고합니다.CodeIgniter가 값을 가져 오는 중 오류가 발생했습니다.

내 모델 :

public function retrieve_where($id) { 

     return $this->db->where('id', $id); 
     $query = $this->db->get('funds'); 
     return $query->row(); 

    } 

내 컨트롤러 :

public function edit($id) { 

     $data['record'] = $this->funding_model->retrieve_where($id); 


     $config = array(

      array(
       'field'=>"fn", 
       'label'=>"Funder Name", 
       'rules'=>'required' 
      ), 
      array(
       'field'=>"at", 
       'label'=>"Award Type", 
       'rules'=>'required' 
      ) 

     ); 

     $this->form_validation->set_rules($config); 

     if(!$this->form_validation->run($config)) { 

      $this->load->view('header'); 
      $this->load->view('funding/edit', $data); 
      $this->load->view('footer'); 

     } 

내보기의 첫 번째 부분 : 리턴

echo form_open('funding/add'); 

$fields = array(
    array("name"=>"on", "display_name" => "Opportunity Name"), 
    array("name"=>"fn", "display_name" => "Funder Name", "value" => $record->funder_name), 
    array("name"=>"cd", "display_name" => "Closing Date"), 
    array("name"=>"di", "display_name" => "Deadline Info"), 
    array("name"=>"at", "display_name" => "Award Type"), 
    array("name"=>"ama", "display_name" => "Award Max"), 
    array("name"=>"ami", "display_name" => "Award Min"), 
    array("name"=>"budget", "display_name" => "Budget"), 
    array("name"=>"summary", "display_name" => "Summary Info"), 
    array("name"=>"website", "display_name" => "Website") 
); 

:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined property: CI_DB_mysql_driver::$funder_name 

Filename: funding/edit.php 

Line Number: 14 

funder_name은 테이블 자금의 열이므로이 문제를 이해할 수 없습니다. 어떤 아이디어?

+0

왜 'retrieve_where()'함수에서 두 개가 반환됩니까? 이 함수에서는 코드의 마지막 두 줄을 사용하지 않습니다. 또한, 왜 당신은 기능의 중간에 설정을해야합니까. 그건 정말 좋지 않은 프로그래밍 습관입니다. funding/edit.php의 14 번째 라인은 무엇입니까? –

+0

@MikeBrant 어디서 설정을해야합니까? – MrD

+0

유효성 검사 규칙 배열을 컨트롤러에 보관할 수 있지만 구성 파일에 배치 할 수도 있습니다. https://ellislab.com/codeigniter/user-guide/libraries/form_validation.html#savingtoconfig – Craig

답변

3
return $this->db->where('id', $id); 

이 제품에 대한 반품은 필요하지 않습니다.

$this->db->where('id', $id); 
관련 문제