试图获取非对象的属性

Posted

技术标签:

【中文标题】试图获取非对象的属性【英文标题】:Trying to get property of non-object 【发布时间】:2015-12-09 11:04:25 【问题描述】:

我正在尝试将用户的 ID 从一个视图传递到另一个视图并显示相应 ID 的配置文件详细信息。但我没有显示配置文件详细信息,而是收到错误消息“尝试获取非对象的属性。

这是第一个视图

<td class="user-name"><a href="<?php echo site_url() . 'admin/users/members_details/' . $allusers->p_u_id; ?>"> <?php echo $allusers->comp_person_name ?></a>   <span>Subscriber</span> </td>

控制器:members_details 方法

public function members_details () 
     $data['udetails']= $this->user_model->user_details(array('u_id' => $this->uri->segment(4) , 'u_delete' => 1 ));
 $this->layout->view("admin/members_details", $data);

user_details 模型

 function user_details($where = '', $order = '', $select = '') 
        if (!$select)
            $select = array('users.u_id', 'users.u_email', 'u_status', 'u_group', 'user_profile.*', 'cities.*', 'country.*');

        $joins = array(array('table' => 'user_profile', 'condition' => 'user_profile.p_u_id=users.u_id', 'jointype' => 'INNER'),
            array('table' => 'cities', 'condition' => 'user_profile.comp_city=cities.id', 'jointype' => 'INNER'),
            array('table' => 'country', 'condition' => 'user_profile.comp_country=country.id', 'jointype' => 'INNER'));
        if ($order)
            $this->db->order_by($order);
        else
            $this->db->order_by('u_id  DESC');

        return $this->get_joins('users', $where, $joins, $select);
    

members_details 视图

<a href="#" class="user-name">
<?php echo $udetails->comp_person_name ?> 
<span class="user-status is-online"></span>

现在,当我尝试显示 comp_person_name 时,我得到了上述错误。 我哪里出错了?

【问题讨论】:

你能print_r($udetails)吗? 【参考方案1】:

data 返回一个数组。所以替换

 $udetails->comp_person_name  

$udetails['0']->comp_person_name

解决了问题

【讨论】:

以上是关于试图获取非对象的属性的主要内容,如果未能解决你的问题,请参考以下文章

Blade - 试图获取非对象的属性

laravel 试图获取非对象的属性

试图获取非对象的属性“主机名”

试图获取非对象的属性 [laravel 5.2]

试图获取非对象的属性

我该如何解决“试图获取非对象的属性”