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?
Page 1 of 1
come visualizzare piu query in un report
#2
Posted 04 November 2010 - 09:49 AM
leggendo il tutorial ho trovato
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
$this->render('edit', array(
'var1'=>$value1,
'var2'=>$value2,
));
#3
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:
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.
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.
Share this topic:
Page 1 of 1