【发布时间】:2014-08-08 16:56:25
【问题描述】:
我正在尝试在 codeigniter 中添加和乘以数组数据。我正在使用以下模型 best_outlet_chart()
function best_outlet_chart(){
$this->db->select(array(
'tbl_outlet_registration.outlet_name',
'tbl_sub_products.sub_product_price',
'tbl_order_products.quantity',
));
$this->db->from('tbl_outlet_registration');
$this->db->join('tbl_order_product_details', 'tbl_order_product_details.outlet_id=tbl_outlet_registration.outlet_id');
$this->db->join('tbl_order_products', 'tbl_order_products.order_id=tbl_order_product_details.order_id');
$this->db->join('tbl_sub_products', 'tbl_sub_products.sub_product_id=tbl_order_products.product_id','LEFT');
$query = $this->db->get();
return $query->result();
}
上面的代码返回一个类似这样的数组
Array
(
[0] => stdClass Object
(
[outlet_name] => Outlet A
[sub_product_price] => 1000.00
[quantity] => 1
)
[1] => stdClass Object
(
[outlet_name] => Outlet A
[sub_product_price] => 50.00
[quantity] => 50
)
[2] => stdClass Object
(
[outlet_name] => Outlet B
[sub_product_price] => 10.00
[quantity] => 70
)
[3] => stdClass Object
(
[outlet_name] => Outlet B
[sub_product_price] => 10.00
[quantity] => 1
)
)
我想将 [sub_product_price] 与 Outlet A 和其他商店中的 [quantity] (sub_product_price*quantity) 相乘。不是所有的网点都在一起,而是分开。有人可以帮我解决这个问题吗
谢谢!! 安
我使用了以下代码,它给了我所有网点的总数,而不是单独的。
'SUM(tbl_sub_products.sub_product_price * tbl_order_products.quantity) as amount'
【问题讨论】:
-
使用 GROUP BY outlet_name。这将对不同的网点进行分组
-
是的,但它不会将 [sub_product_price] 与 [quantity] 相乘 (sub_product_price*quantity)
-
会的。所以你可以使用 'SUM(tbl_sub_products.sub_product_price * tbl_order_products.quantity) as amount' 然后最后使用 GROUP BY outlet_name
-
谢谢 :) :) 它有效
标签: php mysql arrays codeigniter