2016-07-14 82 views
0

我收到以下錯誤消息。在鏈接值時出現錯誤

消息:試圖獲得非對象的屬性

表結構:

enter image description here

name ='fb' value='https://www.facebook.com/mypage' 

型號:

function get_fb_url(){ 
    $query=$this->db->select('value'); 
    $query=$this->db->from('preferences'); 
    $query=$this->db->where('name','fb'); 
    return $this->db->get()->row(); 
} 

控制器:

$data['fb_url']=$this->Home_model->get_fb_url()->value; 

查看:

<li><a href="<?php echo $fb_url;?>" target="_blank"><img src="css/imgs/fb.png" /></a></li> 

當我運行我的網頁它給我的錯誤

消息:試圖讓非財產對象

只有當value在表中鏈接如上,如果其簡單文本然後文本正確顯示在頁面上。

如何擺脫此錯誤?

+0

它應該是'$ fb_url'鑑於在打印過程中? –

+0

@DharaParmar它的打字錯誤,我更新我的問題。 –

+0

'get_fb_url'返回對象數組不是對象。 – Kamran

回答

0

代替echo使用return

變化

echo $this->db->get()->row(); 

return $this->db->get()->row(); 

而且變量名之前在視圖中添加$

<a href="<?php echo $fb_url;?>" 

修訂

更改模型代碼

function get_fb_url() { 
    $this->db->select('value'); 
    $this->db->from('preferences'); 
    $this->db->where('name', 'fb'); 
    return $this->db->get()->row(); 
} 
+0

哦對不起,這些都是類型錯誤,我更新我的問題。 –

+0

檢查更新的答案! – Saty

+0

@Stay我改變了模型,但仍然是相同的錯誤。 –

0

你必須嘗試這樣的:

function get_fb_url() { 
     $this->db->select('value'); 
     $this->db->from('preferences'); 
     $this->db->where('name', 'fb'); 
     $query = $this->db->get(); 
     return $query->row(); 
} 

,並在控制器:

$result = $this->Home_model->get_fb_url(); 
//try print $result, it must be an stdObject 
$data['fb_url']=$result->value; 

這是因爲在$data['fb_url']=$this->Home_model->get_fb_url()->value;/區分鏈接到另一個函數,這就是爲什麼你得到這個錯誤。

+0

不工作..... –

+0

輸出是什麼?你有嘗試打印'$ result'嗎? –

+0

不打印任何只是給出錯誤的東西。 –

0

get_fb_url正在返回對象數組而不是對象。所以你必須從方法返回值。

function get_fb_url() 
{ 
    $query=$this->db->select('value'); 
    $query=$this->db->from('preferences'); 
    $query=$this->db->where('name','fb'); 
    return $this->db->get()->row()->value; 
} 

,比 $data['fb_url']=$this->Home_model->get_fb_url();

+0

那麼,爲什麼它使用純文本,但沒有網址? –

+0

這可能是因爲'/' –

+0

@ kamran仍然是相同的錯誤 –

0

在模型中做到這一點

public function get_fb_url() { 
    $this->db->select('value'); 
    $this->db->from('preferences'); 
    $this->db->where('name','fb'); 
    $query = $this->db->get(); 
    $row = $query->row(); 
    return $row; 

}

在控制器:

$data = array(); 
$result = $this->Home_model->get_fb_url(); 
$data['fb_url'] = $result->value; 
$this->load->view('your_view',$data); 

在View:

echo $fb_url; 
相關問題