1)有没有办法在Yii中使用CActiveRecord来获取整型列的和?
否则,我将不得不获取列数据并在服务器端对其求和。
2)我还假设通过一次sql查询获得总和比通过php在服务器上获取一列数据并求和更快。如果性能很重要,应该让mysql服务器来做这样的操作,还是让php服务器来处理这件事。
请多多指教。
发布于 2011-04-21 15:54:55
1)我不这么认为,而且这样使用CAvtiveRecord也没有什么意义,除非你想要一个状态关系。假设你有一个“问题”模型和一个“答案”模型,答案属于一个问题。你可以建立一个统计关系,并在“问题”中实现它,如下所示:
Public function relations() {
return array(
'answerSum'=>array(self::STAT, 'Answer', 'questionId', 'select' => 'SUM(answerSum.someFieldFromAnswerTableToSum)')
);
}然后检索信息:$question >answerSum;,其中$question是带有如上声明的关系的where实例。
2)这是一个数据量的问题。我个人会选择SQL,因为它能够处理更多的数据集,因此可以在将来保存。
发布于 2011-04-21 16:25:13
试试看
$user = User::model()->findBySql('select sum(`you_column`) as `sum` from user', array());
var_dump($user->sum);在模型中应显示字段总和
https://stackoverflow.com/questions/5740350
复制相似问题