首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CActiveRecord获取列的总和

使用CActiveRecord获取列的总和
EN

Stack Overflow用户
提问于 2011-04-21 14:26:39
回答 2查看 11K关注 0票数 7

1)有没有办法在Yii中使用CActiveRecord来获取整型列的和?

否则,我将不得不获取列数据并在服务器端对其求和。

2)我还假设通过一次sql查询获得总和比通过php在服务器上获取一列数据并求和更快。如果性能很重要,应该让mysql服务器来做这样的操作,还是让php服务器来处理这件事。

请多多指教。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-21 15:54:55

1)我不这么认为,而且这样使用CAvtiveRecord也没有什么意义,除非你想要一个状态关系。假设你有一个“问题”模型和一个“答案”模型,答案属于一个问题。你可以建立一个统计关系,并在“问题”中实现它,如下所示:

代码语言:javascript
复制
Public function relations() {
    return array(
        'answerSum'=>array(self::STAT, 'Answer', 'questionId', 'select' => 'SUM(answerSum.someFieldFromAnswerTableToSum)')
    );
}

然后检索信息:$question >answerSum;,其中$question是带有如上声明的关系的where实例。

2)这是一个数据量的问题。我个人会选择SQL,因为它能够处理更多的数据集,因此可以在将来保存。

票数 10
EN

Stack Overflow用户

发布于 2011-04-21 16:25:13

试试看

代码语言:javascript
复制
$user = User::model()->findBySql('select sum(`you_column`) as `sum` from user', array());
var_dump($user->sum);

在模型中应显示字段总和

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5740350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档