2016-07-14 63 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; 
相关问题