如何使用查询获取Yii中列的数据总和?

时间:2014-11-17 07:33:49

标签: php yii

我希望使用Yii查询在特定列中提供数据的SUM。 这是代码:

$resource_cnt = Resources::model()->findAll(array(
     'select'=>'prj_id, SUM(amount) as amt',
     'condition'=>'prj_id=:prj_id',
     'params'=>array(':prj_id'=>$_POST['Resources']['prj_id']))
);

我尝试使用上面的查询。但它没有得到amt变量的SUM。

2 个答案:

答案 0 :(得分:3)

"正确"要做的事Yii,如果你想在模型中做得很好,就是 在名为Resources的{​​{1}}中声明一个属性。 然后它应该与您的查询一起使用。 Yii只从选择查询中填充那些属性,它可以在模型中找到。

amt

答案 1 :(得分:2)

我使用CreateCommand修改了一个查询。通过它,我得到了所选列的总和。 这是查询。

$resource_cnt = Yii::app()->db->createCommand()
->select('prj_id, sum(amount) as amt')
->from('resources')
->where('prj_id = ' . $_POST['Resources']['prj_id'])
->queryRow();