2016-03-15 90 views
0

我想用我的代碼來獲取下面試圖讓非對象的屬性(笨)

public function getContentLocation(){ 
    $response=array(); 
    $result = $this->m_krb->getAllContent(); 
    if ($result->num_rows() > 0) { 
     $response["konten"] = array(); 

     foreach($result->result() as $row): 
      $pendaftaran = array(); 
      $pendaftaran["id"] = $row->id_table_petakrb; 
      $pendaftaran["nama"] = $row->nama_petakrb; 
      $pendaftaran["deskripsi"] = $row->deskripsi; 
      $pendaftaran["foto"]='http://192.168.43.137/navigasikrb/assets/img/foto/'.$row->foto; 
      $icon = $row->marker_icon; 
      $marker = $this->m_krb->checkGroup($icon)->result(); 
      $pendaftaran["marker"] = $marker->nama_group; 
      $pendaftaran["lng"] = $row->longitude; 
      $pendaftaran["lat"] = $row->latitude; 
      array_push($response["konten"], $pendaftaran); 
     endforeach; 

    // sukses 
    $response["success"] = 1; 

    // echo JSON response 
    echo json_encode($response); 
    } else { 
     $response["success"] = 0; 
     $response["message"] = "Tidak ada data yang ditemukan"; 

     echo json_encode($response); 
    } 
} 

笨示範源代碼

function getAllContent(){ 
    $query=$this->db->query("select * from table_petakrb "); 
    return $query; 
} 

function checkGroup($icon){ 
    $query=$this->db->query("select table_group.nama_group FROM table_group INNER JOIN table_petakrb ON table_petakrb.marker_icon = table_group.file_icon WHERE table_petakrb.marker_icon = '$icon' limit 1 "); 
    return $query; 
} 

問題的數據我得到「試圖獲得非物件的財產」在這條線上的錯誤

$pendaftaran["marker"] = $marker->nama_group; 

在此先感謝!

+0

我在上面的代碼中顯示'm_krb-> checkGroup($ icon)''。我有檢查並運行查詢,它運行良好。 –

+0

現在我們最好檢查'$ this-> db-> query()',這樣我們就知道返回的是什麼。一個對象和數組還是false? – RiggsFolly

+0

代碼中沒有明顯的db查詢錯誤處理。在返回之前在'checkGroup'方法中執行'var_dump($ query);'以查看PHP認爲結果是什麼。 –

回答

0

IN query()函數返回時,「讀」式的查詢運行數據庫結果的對象,你可以用它來展現你的結果。

result()該函數將查詢結果作爲對象數組或失敗時的空數組返回。 row()函數返回一個對象。

function getAllContent(){ 
     $query=$this->db->query("select * from table_petakrb "); 
     return $query->result(); 
    } 

    function checkGroup($icon){ 
     $query=$this->db->query("select table_group.nama_group FROM table_group INNER JOIN table_petakrb ON table_petakrb.marker_icon = table_group.file_icon WHERE table_petakrb.marker_icon = '$icon' limit 1 "); 
     return $query->row(); 
    } 
+0

您可能是對的,但是誰知道'$ this-> db-> query()'函數中正在做什麼 – RiggsFolly

+0

result()此函數將查詢結果作爲對象數組返回。 – santosh

+0

不工作。 ($ icon = $ m_krb-> checkGroup($ icon) - > result();' –