CAKEPHP - 带有分页设置的总和


CAKEPHP - SUM with Paginate Settings

我怎样才能做到这一点?或者这可能吗?我想为带有分页的总数添加一行。我是开发新手..希望你能帮助我解决这个问题。谢谢。。

这是模型中的分页函数

public function generateSettingsForPager($transportId, $year){
    $conditions['delete_flag'] = 0;
    if($transportId){
        $conditions['transport_id'] = $transportId;
    }
    if($year){
        $conditions['year'] = $year;
    }
    $settings = array (
        'fields' => 'id, year, transport_id, item, description, currency, budget, exchange_rate, all_in_php',
        'limit' => 30,
        'recursive' => -1,
        'order' => array(
            'id' => 'desc'
        ),
        'conditions' => $conditions
    );
    return $settings;
}

控制器中的索引函数

public function index(){
$getData = $this->request->query;
$transportId  = isset($getData['transport_id']) ? $getData['transport_id'] : null;
$year = isset($getData['year']) ? $getData['year'] : null;
$this->paginate = $this->UpgradingAndModification->generateSettingsForPager($transportId, $year);
$upgradingAndModifications = $this->paginate('UpgradingAndModification');
$this->set('transportId', $transportId);
$this->set('year', $year);
$this->set('upgradingAndModifications', $upgradingAndModifications);
}

这应该是索引视图。.看截图..

http://awesomescreenshot.com/0b94avre47

到目前为止,我得到的与该屏幕截图相同,但还没有总计。

试试这个:

SUM(col1+col2) as total

在分页设置中

 public function generateSettingsForPager($transportId, $year){
    $conditions['delete_flag'] = 0;
    if($transportId){
        $conditions['transport_id'] = $transportId;
    }
    if($year){
        $conditions['year'] = $year;
    }
    $settings = array (
        'fields' => 'id, year, transport_id, item, description, currency, budget, exchange_rate, SUM(col1+col2) as total',
        'limit' => 30,
        'recursive' => -1,
        'order' => array(
            'id' => 'desc'
        ),
        'conditions' => $conditions
    );
    return $settings;
}