Yii Framework Forum: come visualizzare piu query in un report - Yii Framework Forum

Jump to content

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

come visualizzare piu query in un report Rate Topic: -----

#1 User is offline   sbondi 

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

Posted 04 November 2010 - 07:24 AM

Ciao,

ho la necessità di creare un report con dei campi che prendono valori da diverse query.
Mi chiedevo se si potesse fare e quale sarebbe la implementazione esatta
Attualmente il mio codice ha:
--------------------
.....
...
$criteria= new CDbCriteria;
$criteria->select = "COUNT(*) as total";
$criteria->condition = "(project.prj_start_date >= '$current_date') AND
(project.prj_start_date < '$next_date') AND
(project.class_id=$class_id)
AND (phases.status_id='5') ";
$criteria->with ="phases.project";
$totals = Projects::model()->findall($criteria)
foreach ($totals as $tot)
$report+= $tot->total;
$this->render('report2',array('reports'=>$report));

è possibile nella stesa funzione aggiungere una nuovo criteria ad esempio criteria2 con una nuova query e fare il render tipo:
$this->render('report2',array('reports'=>$report,'reports'=>$report2));


ci sono soluzioni?
0

#2 User is offline   sbondi 

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

Posted 04 November 2010 - 09:49 AM

leggendo il tutorial ho trovato
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
0

#3 User is offline   zaccaria 

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

Posted 04 November 2010 - 10:12 AM

Esatto, puoi mandare tutte le variabili che vuoi alle view.

ti do alcuni consigli:

Non fare mai i cicli tipo:

foreach ($totals as $tot)
$report+= $tot->total;


Non sono per niente stilosi, molto meglio fare un'altra query senza group by (fra l'altro non c'e' nessuna group by neanche nella tua query originale, come fai ad ottenere piu' di una riga?).


Il motivo e' il seguente: se per caso ti ritrovi con 100.000 risultati, con ogni probabilita' vorrai dividerli in pagine, per cui il tuo ciclo gia' non funziona piu'.

Fai tante query e non elaborare i dati in php: il database lavora sempre meglio con i dati, e' fatto apposta.
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