AR query nel controller

ciao,

ho un dubbio che mi attanaglia. vorrei lasciare il model libero da ogni funzione contenente query e portarle tutte nel controller

Ho realizzato una funzione nel controller:

public function actionReport1()

{$nome = array ("1","2","3");


    $lungh_array= count($nome);


    for ($contatore=0; $contatore < $lungh_array; $contatore++)


    {





         for ($contatore2=0; $contatore2 < 12; $contatore2++)


         {


             $criteria2= new CDbCriteria;


             $criteria2->select="device_category_id, COUNT(  device_category_id) as totale ";


             $criteria2->condition="  prj_start_date <= '2010-12-01' AND  prj_start_date >='2010-11-01' AND (device_category_id='$nome[$contatore]) ";


          // $criteria2->group="device_category_id";


          $totale = CActiveRecord::model(Projects)->findall($criteria2);








             $report[$contatore][$contatore2]=  $totale;


             CActiveDataProvider(get_class($this), array(

‘criteria’=>$criteria2, ));

	      }

$this->render(‘report1’,array(‘reports’=>$reports));

Se tolgo il commento dal group ovvero // $criteria2->group="device_category_id";

mi da errore relativo all’utilizzo di group. se la commento mi da sempre errore sql ma sulla linea 1

Non capisco dove sbaglio

Risolto… query mancante di "

ciao

In teoria tutto quello che ha a che fare con il database dovrebbe stare nei model, mentre il controller non dovrebbe avere queste funzioni.

Nel controller dovresti usare robe tipo CActiveRecord::find e CDbCriteria, mentre nel model scrivere eventuali sql custom.

L’obiettivo e’ di poter cambiare il database cambiando solo i model e, al piu’, le view, ma non il controller.