Codeigniter在数组表示法和对象表示法上获取错误

时间:2012-11-17 08:27:18

标签: php codeigniter

我正在为我的项目使用codeigniter,但无法找到我的代码有什么问题。这是我的控制器代码

$products = $this->products_model->getProductsQuantity($id);
$q = $warehouse_product->quantity;

对象表示法正在运行但收到错误:尝试获取非对象的属性

$q = $warehouse_product['quantity'];

数组表示法无法正常工作并出现php错误:致命错误:无法在xx行上的products \ controllers \ products.php中使用stdClass类型的对象作为数组

这是我的模特函数

public function getProductsQuantity($product_id) 
    {
        $q = $this->db->get_where('products', array('product_id' => $product_id), 1); 
          if( $q->num_rows() > 0 )
          {
            return $q->row();
          } 

          return FALSE;

}

请帮助我解决我的代码中的问题。

1 个答案:

答案 0 :(得分:1)

你应该看看这个

如果您将结果限制为1,就像在get_where指令中那样返回

$q->row_array() // for array

并且

$q->result_array() // for object

在Controller中执行此操作

$products = $this->products_model->getProductsQuantity($id);
$quantity = $products->quantity; // Object notation

并且

$quantity = $products['quantity']; // Array notation