我正在为我的项目使用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;
}
请帮助我解决我的代码中的问题。
答案 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