Esto es sencillo pero resulta poco elegante.
Una mejor solución es incluir en la búsqueda una función de MySQL y tumar los resultados directamente desde la búsqueda.
Y ya que únicamente necesito un valor, en lugar de find, uso la función field que devuelve un único valor en lugar de un array.
para resumir la cosa quedaría así.
$params = array('equipo_id'=>$equipo_id, 'numero_equipo'=>$numero, 'obra_id'=>$obra_id, 'fecha >'=>$fecha_ini, 'fecha <'=>$fecha_fin);Aquí el truco es poner SUM('campo') ya que si la consulta, según las condiciones retorna varios campos, se suman y se devuelve únicamente el resultado.
$datos = $this->field('SUM(total)', $params );
return $datos;
Si se pone como parámetro de field, simplemente el nombre del campo, retornará la primera coincidencia si alguna.