2012-10-28 7 views
0

내 웹 사이트에 codeigniter를 사용하고 있지만 다른 테이블에서 행을 반환하는 스크립트를 작성한 적이 있습니다. 하지만 그것은 내게 오류가 쓰기가 아닌 개체의 재산을 얻으려고. 이것은 내 코드입니다. 문제가 어디에 있습니까?Codeigniter get row

 $this->db->select('*'); 
     $this->db->from('orders'); 
     $this->db->where('order_id',$order_id); 
     $array_keys_values = $this->db->get(); 
     $row = $array_keys_values->row(); 

     $this->db->select('*'); 
     $this->db->from('pacients'); 
     $this->db->where('pacient_account_id',$row->order_pacient_id); 
     $array_keys_values2 = $this->db->get(); 
     $row2 = $array_keys_values2->row(); 

     $this->db->select('*'); 
     $this->db->from('doctors'); 
     $this->db->where('doctor_account_id',$doctor_id); 
     $array_keys_values3 = $this->db->get(); 
     $row3 = $array_keys_values3->row(); 
+0

이것은 오류입니다. http://i45.tinypic.com/2lwuqt3.jpg –

+0

데이터베이스 구성에 'db_debug'가 설정되어 있습니까? '$ this-> db-> get()'이 false를 리턴하고 생성 된 질의가 무효하다는 것을 의미합니다 (테이블/컬럼이 없다). – complex857

+0

예 db_debug를 TRUE로 설정했습니다. 하지만 내 쿼리는 괜찮습니다. –

답변

2

없음 행이

$this->db->select('*'); 
$this->db->from('orders'); 
$this->db->where('order_id',$order_id); 
$array_keys_values = $this->db->get();  
if ($array_keys_values->num_rows() > 0) { 
    foreach ($array_keys_values->result() as $row) { 
     // now you can work with $row 
    } 
} 

$this->db->select('*'); 
$this->db->from('pacients'); 
$this->db->where('pacient_account_id',$row->order_pacient_id); 
$array_keys_values2 = $this->db->get(); 
if ($array_keys_values2->num_rows() > 0) { 
    foreach ($array_keys_values2->result() as $row2) { 
     // now you can work with $row2 
    } 
} 

$this->db->select('*'); 
$this->db->from('doctors'); 
$this->db->where('doctor_account_id',$doctor_id); 
$array_keys_values3 = $this->db->get(); 
if ($array_keys_values3->num_rows() > 0) { 
    foreach ($array_keys_values3->result() as $row3) { 
     // now you can work with $row3 
    } 
} 
0

을 반환하지 않았다보십시오. 확인을 위해 num_rows()>가 0 인 if 문을 사용하십시오.