Estuve leyendo un rato sobre como utilizar SUM() desde las relaciones mediante STAT, pero tuve un par de problemas ya que no resulto realizarse una suma completa de todos los registros encontrados ya que el framework agrupa los resultados…
El codigo en mi modelo
class Lag extends CActiveRecord
{
public function relations()
{
return array(
'Total'=>array(self::STAT,'LagConcepts','lag_id','select'=>'SUM(tb_LagConcepts.amount)'),
);
}
}
El codigo en mi controlador
$Total = Lag::model()->with('Total')->findAll();
La consulta generada
SELECT `t`.`lag_id` AS `t0_c0` FROM `tb_lags` `t`
SELECT `lag_id` AS `c`,
SUM(tb_LagConcepts.amount) AS `s`
FROM `tb_LagConcepts` WHERE (`tb_LagConcepts`.`lag_id` IN (1, 2))
GROUP BY `lag_id`
--+---
c | s
--+---
1 | 5
2 | 15
donde ‘c’ es la agrupacion que realiza por tabla_id y ‘s’ la suma… pero lo que busco es obtener un solo resultado, que seria la suma total de 5+15 = 20…