cakephp sum()在单场上

Kei*_*wer 2 cakephp

我已经搜索了如何获得一个名为积分的字段的高低.我只需要一个总数,但我能得到的最好的是Points表中的记录列表以及来自成员的相关记录.

    $totalPoints = $this->Member->Point->find('all', array(
               array('fields' => array('sum(Point.points)   AS Point.ctotal'))));
Run Code Online (Sandbox Code Playgroud)

mar*_*ark 13

为什么不按文档记录和建议使用virtualFields? http://book.cakephp.org/2.0/en/models/virtual-fields.html

$this->Member->Point->virtualFields['total'] = 'SUM(Point.points)';
$totalPoints = $this->Member->Point->find('all', array('fields' => array('total')));
Run Code Online (Sandbox Code Playgroud)

这样更清洁.

还要注意你在$ options array(...find('all', array(array(...)中得到的双数组.我如何只使用单个/平面阵列.这就是为什么SUM()调用字段不起作用的原因.