2013-04-29 5 views
7

मेरे पास यह प्रश्न है, मैं मात्रा की मात्रा के साथ आदेश देना चाहता हूं। मैं पृष्ठ पर अंक लगाना में इस परिणाम का उपयोग करने के लिए है, कृपया मेरी मदद करो ..केकफ़्पी में कुल फ़ंक्शन SUM का उपयोग कैसे करें?

SELECT (SUM(OrderItem.quantity)) AS qty, `OrderItem`.`item_name` , 
`OrderItem`.`size` FROM `order_items` AS `OrderItem` WHERE 1 =1 
GROUP BY `OrderItem`.`item_name` , `OrderItem`.`size` 
ORDER BY (SUM(OrderItem.quantity)) DESC 

मैं कोड bellow की कोशिश की है, लेकिन यह काम नहीं करता है

$this->paginate = array('fields'=>array('(SUM(OrderItem.quantity)) as qty', 
             'OrderItem.item_name', 
            'OrderItem.size'), 
         'group'=>array('OrderItem.item_name','OrderItem.size'), 
         'order' => array('(SUM(OrderItem.quantity))'=>'DESC')); 

उत्तर

4

आप उपयोग कर सकते हैं "कस्टम क्वेरी Pagination¶" का पालन करें लिंक नीचे:

http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html#custom-query-pagination

उपयोग इस अपने मॉडल में:

public function paginate($conditions, $fields, $order, $limit, $page = 1, $recursive = null, $extra = array()) { 
     $page--; 
     $offset=$limit*$page; 
     $result= $this->find('all',array('fields'=>array('(SUM(OrderItem.quantity)) as qty', 
      'OrderItem.item_name', 
      'OrderItem.size'),'group'=>array('OrderItem.item_name','OrderItem.size'),'order' => array('qty'=>'DESC'),'conditions'=>$conditions,'limit'=>$limit, 'offset'=>$offset)); 
     return $result; 

    } 
संबंधित मुद्दे