Yii Framework Forum: AR query nel controller - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

AR query nel controller Rate Topic: -----

#1 User is offline   sbondi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 33
  • Joined: 07-October 10

Posted 29 October 2010 - 06:42 AM

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
0

#2 User is offline   sbondi 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 33
  • Joined: 07-October 10

Posted 29 October 2010 - 07:49 AM

Risolto... query mancante di "
ciao
0

#3 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 29 October 2010 - 08:10 AM

Quote

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


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.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users