任何人都可以帮助将该查询转换为cakephp格式,因为我是cakephp的新手
SELECT t_order_product.PRODUCT_CD, m_product.PRODUCT_NAME, count(t_order_product.PRODUCT_CD) as Quantity
from t_order_product
JOIN m_product ON t_order_product.PRODUCT_CD = m_product.PRODUCT_CD
where ORDER_STATUS_CD='2'
group by PRODUCT_CD
order by PRODUCT_CD
答案 0 :(得分:0)
如果您要计算产品的订单,我认为您的sql中有一个错误。您需要计算订单编号。应该是:
SELECT m_product.PRODUCT_CD, m_product.PRODUCT_NAME, count(t_order_product.ID) as Quantity
在cakephp中:
$datas = $this->Product->find('all',array(
'contain'=>array(),
'joins'=>array(
array(
'table'=>'t_order_product',
'alias'=>'Order',
'type'=>'INNER',
'conditions'=>array(
'Order.PRODUCT_CD = Product.PRODUCT_CD',
'Order.ORDER_STATUS_CD'=>2
)
)
),
'fields'=>array(
'Product.PRODUCT_CD',
'Product.PRODUCT_NAME',
'n'=>'count(Order.id)'
),
'group'=>array(
'Product.PRODUCT_CD'
)
));
结果将是这样的数组:
Array
(
[0] => Array
(
[Product] => Array
(
[PRODUCT_CD] => X,
[PRODUCT_NAME] => XXXX,
)
[0] => Array
(
[count(`Order`.`id`)] => n
)
)
[1]....
)