首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >非对象的属性

非对象的属性
EN

Stack Overflow用户
提问于 2011-12-06 07:50:29
回答 2查看 93关注 0票数 0

我在试着找出为什么我要尝试获取非对象的属性。我对对象和数组不是很熟练,但我正在努力。下面是代码和错误消息。对如何解决这个问题有什么想法吗?

代码语言:javascript
运行
复制
A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/sitemodel.php

Line Number: 208 and 215



function getSubMenuPages()
{
    $this->db->select('site_menu_structures.id');
    $this->db->from('site_menu_structures');
    $this->db->where('site_menu_structures.short_name', 'mainnav'); 
    $query = $this->db->get(); 
    $menu_id = $query->row()->id; 

    $this->db->select('site_menu_structures_links.id, site_menu_structures_links.short_name, is_category');
    $this->db->from('site_menu_structures_links');
    $this->db->where('site_menu_structures_links.menu_structure_id', $menu_id); 
    $query = $this->db->get();

    if ($query->num_rows() > 0) 
    {
        $linksArray = $query->result();
        foreach ($linksArray as $key => $link)
        {
            if ($link->is_category == 'Yes')
            {
                $linksArray->{$key}->child_links;
                $this->db->select('site_menu_structures_links_children.link_name');
                $this->db->from('site_menu_structures_links_children');
                $this->db->where('site_menu_structures_links_children.site_menu_structures_links_id', $link->id); 
                $query = $this->db->get();
                if ($query->num_rows() > 0) 
                {
                    $linksArray->{$key}->child_links = $query->result();
                }
            }
        }
    }

    return $linksArray;

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-06 07:55:32

我的猜测是$linksArray是一个数组,而不是一个对象,所以这行

$linksArray->{$key}->child_links;

不会起作用。在任何情况下,这一行都不做任何事情,那么为什么要有它呢?

在为这个"property“赋值的地方,尝试这样做

代码语言:javascript
运行
复制
$linksArray[$key]->child_links = $query->result();
票数 3
EN

Stack Overflow用户

发布于 2011-12-06 07:55:31

“正在尝试获取非对象的属性”

仅当您尝试将变量视为对象实例,并且实际上无法成功创建该实例时,才会出现这种类型的错误。尝试检查这部分代码是否真的是对象:

代码语言:javascript
运行
复制
$linksArray->{$key}->child_links

这位于代码的底部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8393570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档