Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function getOderAmountByOrderType($options = array())
- {
- $orderDec = 'Desc';
- $limit = false;
- $conditions = array();
- if(isset($options['conditions'])){
- $conditions = array_merge($conditions, $options['conditions']);
- }
- if(isset($options['orderDesc'])){
- $orderDec = $options['orderDesc'];
- }
- if(isset($options['limit'])){
- $limit = $options['limit'];
- }
- $fields = array(
- 'SUM(CASE WHEN Order.is_paid = 0 THEN 1 ELSE 0 END) AS freeOrder',
- 'SUM(CASE WHEN Order.is_paid = 0 THEN Order.cost_total ELSE 0 END) AS freeOrderAmount',
- 'SUM(CASE WHEN Order.is_paid = 1 THEN 1 ELSE 0 END) AS paidOrder',
- 'SUM(CASE WHEN Order.is_paid = 1 THEN Order.cost_total ELSE 0 END) AS paidOrderAmount',
- 'SUM(CASE WHEN Order.is_paid = 2 THEN 1 ELSE 0 END) AS sampleOrder',
- 'SUM(CASE WHEN Order.is_paid = 2 THEN Order.cost_total ELSE 0 END) AS sampleOrderAmount',
- 'COUNT(Order.is_paid) as totalOrder',
- 'SUM(Order.cost_total) as totalOrderAmount'
- );
- $option = array(
- 'fields' => $fields,
- 'conditions' => $conditions,
- 'recursive' => -1,
- 'limit' => $limit
- );
- $result = $this->find('all', $option);
- return $result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement