为什么我得到这个错误试图获得非对象的属性?

时间:2014-11-04 09:02:21

标签: codeigniter-2

我正在尝试更新此内容并显示尝试获取非对象的属性。如何解决此问题可以帮助我

  $data['dotdprod'] = $this->Product_model->get_products($data['dotdcat']->id, '5', '0', 'sort_price', 'ASC');

和模型是:

function get_products($category_id = false, $limit = false, $offset = false, $by=false, $sort=false)
{
    //if we are provided a category_id, then get products according to category
    if ($category_id)
    {
        $this->db->select('category_products.*, products.*, LEAST(IFNULL(NULLIF(saleprice, 0), price), price) as sort_price', false)->from('category_products')->join('products', 'category_products.product_id=products.id')->where(array('category_id'=>$category_id, 'enabled'=>1));

        $this->db->order_by($by, $sort);

        $result = $this->db->limit($limit)->offset($offset)->get()->result();

        return $result;
    }
    else
    {
        //sort by alphabetically by default
        $this->db->order_by('name', 'ASC');
        $result = $this->db->get('products');

        return $result->result();
    }
}

1 个答案:

答案 0 :(得分:0)

有错误警告您正在尝试访问不具有属性的属性。

当您尝试访问$data['dotdcat']->id时,会假定$data['dotdcat']是一个对象。如果它不是,则会抛出您看到的错误。

我不确定引发错误的位置,但是您使用箭头操作符->的任何地方 - php假定该运算符的左侧是对象。