2012-09-16 3 views
2

나는 다음과 같은 간단한 코드가 있습니다 모델을 :선택하고보기에 표시 결과 CodeIgniter의

function get_last_ten_entries()   
{ 
    $this->db->get('property'); 
} 

컨트롤러 :

public function load_recent() 
{ 
    $data['info'] = $this->propertymodel->get_last_ten_entries(); 
    $this->load->view('load_property', $data); 
} 

보기 :

<? 
echo $data['id']; 
?> 

이 작동하지 않습니다 .

메시지주의 : 정의되지 않은 변수 : 데이터

파일 이름 :보기/load_property 표시 오류가

하는 PHP 오류 심각도

을 발생했습니다 말한다 때문에 내가 뭔가 잘못하고있는 중이 야 확신합니다. PHP

줄 번호 : 2

속성은 id라는 필드가있는 데이터베이스의 테이블입니다. 무슨 일있어?

이 오류를 해결하려면 모든

답변

4

감사, 당신은 당신의보기에서 변수에 해당 컨트롤러에 배열 인덱스로보기에 $info보다는 $data를 사용해야합니다.

$this->db->get('property')은 테이블 property의 모든 행을 반환하지만 함수 이름은 최근 10 개의 항목을 가져 오려고합니다. 자세한 내용은 CodeIgniter's Active Record documentation을 읽어 보시기 바랍니다. 또한 return 검색어가 필요합니다.

쿼리 결과를 생성해야합니다. CodeIgniter's Query Results documentation은 쿼리 결과를 사용하는 방법에 대한 유용한 정보를 제공합니다. 당신이 달성하려고하는 것은 조금 모호하지만 코드는 다음과 같이 볼 수 있습니다 :

모델을

function get_last_ten_entries()   
{ 
    return $this->db->get('property'); //Perform query (you'll need to update to select what you actually want from you database) 
} 

컨트롤러

public function load_recent() 
{ 
    $data['last_entries'] = $this->propertymodel->get_last_ten_entries(); 
    $this->load->view('load_property', $data); 
} 

보기

foreach ($last_entries->result_array() as $entry) 
{ 
    echo $entry['id']; 
} 
오히려 배열 대신 객체, 사용하는 경우

또는 모든의

foreach ($last_entries->result() as $entry) 
{ 
    echo $entry->id; 
} 
+0

위 지시 사항의 단순화를 위해 많이. 위에 주어진대로 정확하게 시도했지만 화면이 비어있게됩니다. 즉 domain.com/index.php/property/load_recent/를로드 할 때입니다. 지원을 감사하십시오 –

+0

오, 덕분에 일했습니다 .... 사소한 조정할 수 있지만 모든 당신에게 완벽한 감사 : D –

+0

좋아, 문제 없어요. 나는 그것이 효과적이기 때문에 기쁘다! – jleft

2

먼저, 모델의 함수는 아무것도 반환 나던.이 시도 : 당신이 것을 해결하면 CodeIgniter는이 load->view($view, $givenarray);

예에 별개의 변수로 배열의 지정된 평가하기 때문에

function get_last_ten_entries()   
{ 
    $result = $this->db->get('property'); 
    return $result->result_array(); 
} 

, 당신은

$data['variable1'] = 'first var'; 
$data['array'] = array('id' => 1, 'name' => 'myname'); 
$this->load-view('view', $data); 

당신을 할 것이다보기에서 사용할 변수 $ 정보가됩니다 다음과 같이 뷰 파일의 변수를 사용하십시오 :

echo $variable1; // echoes 'first var'; 
echo $array['name']; // echoes myname