Buenas a todos,
Quiero crear un tabla CGridview a partir de una consulta SQL la cual es la siguiente:
SELECT CA.rut AS MAIN_ID, 
	            CA.nombre AS nom, 
	            CA.apellido_paterno AS ap, 
	            CA.apellido_materno AS am, 
	            SUM(RA.cantidad_cartas) AS totalC, 
	            SUM(DA.cantidad_devoluciones) AS totalD
				FROM cartero AS CA
				INNER JOIN 
				carga_diaria AS CD
				ON (CD.rut_cartero = CA.rut)
				INNER JOIN registro_acuse AS RE
				ON (CD.codigo_acuse_recibo = RE.codigo_acuse_recibo)
				INNER JOIN devolucion_acuse AS DA
				ON (RA.codigo_acuse_recibo = DA.codigo_acuse_recibo)	
				GROUP BY id, nom, ap, am 
				ORDER BY ap DESC
En mi controlador tengo esto:
public function actionPagos() {
        
        $sql = "SELECT CA.rut AS MAIN_ID, 
	            CA.nombre AS nom, 
	            CA.apellido_paterno AS ap, 
	            CA.apellido_materno AS am, 
	            SUM(RA.cantidad_cartas) AS totalC, 
	            SUM(DA.cantidad_devoluciones) AS totalD
				FROM cartero AS CA
				INNER JOIN 
				carga_diaria AS CD
				ON (CD.rut_cartero = CA.rut)
				INNER JOIN registro_acuse AS RE
				ON (CD.codigo_acuse_recibo = RE.codigo_acuse_recibo)
				INNER JOIN devolucion_acuse AS DA
				ON (RA.codigo_acuse_recibo = DA.codigo_acuse_recibo)	
				GROUP BY id, nom, ap, am 
				ORDER BY ap DESC";
        
        $rawData = Yii::app()->db->createCommand($sql)->queryAll();
        $arrayDataProvider = new CArrayDataProvider($rawData, array(
								   'keyField' => 'MAIN_ID',                // PRIMARY KEY
								   'id' => 'Pagos'   // ID of the data provider itself
								));
								        
        $this->render('Pagos', array(
            'arrayDataProvider'=>$arrayDataProvider
        ));
    }
y en vista admin.php tengo lo siguiente:
<?php 
$this->widget('zii.widgets.grid.CGridView', array(
                'id'=>'data-grid',
                'dataProvider'=>$arrayDataProvider,                     
                'columns'=>array(
		                        array(
			                        'header'=>'R.U.T',
			                        'name'=>'MAIN_ID',
			                        'value'=>'$data["id"]'
		                        	),
		                        array(
			                        'header'=>'Nombre',
			                        'name'=>'nom',
			                        'value'=>'$data["nom"]'
		                        	),
		                        array(
			                        'header'=>'Apellido',
			                        'name'=>'ap',
			                        'value'=>'$data["ap"]." ".$data["am"]'
			                        ),
		                        array(
			                        'header'=>'Cantidad',
			                        'name'=>'totalC',
			                        'value'=>'$data["totalC"]'
			                        ),
		                        array(
			                        'header'=>'Devoluciones',
			                        'name'=>'totalD',
			                        'value'=>'$data["totalD"]'
			                        ),
		                        ),
                ));?>       
El problema es que al cargar la página me muestra el error La propiedad "dataProvider" no puede estar vacia.
No sé como arreglar ese problema, o si hay una forma mejor de crear una tabla a partir de una sentencia SQL.
De antemano, gracias por su ayuda