retourner en tableau une requete complexe depuis la couche Model
Bonjour,
ça fait un petit moment que je suis bloqué sur comment renvoyer un tableau complexe en vu depuis la couche MODEL, j ai trouvé des exemple sur différent forum mais jamais complet!
voila un exemple de requête que je voudrais renvoyer en tableaux sur zend framework:
Code:
1 2 3 4 5
| SELECT NY_HOSTS.HOST_NAME, NY_ISMSC_CLASSES.CLASS_NAME, NY_STATISTICS_AGG_DATA.INSTANCE, NY_OPERATIONS.DESCRIPTIONS, NY_DATA_TYPES.DISPLAY_STRING
FROM SM_STATISTICS.NY_DATA_TYPES NY_DATA_TYPES, OMAP_CONFIG.NY_HOSTS NY_HOSTS, OMAP_CONFIG.NY_ISMSC_CLASSES NY_ISMSC_CLASSES, SM_STATISTICS.NY_OPERATIONS NY_OPERATIONS, SM_STATISTICS.NY_STATISTICS_AGG_DATA NY_STATISTICS_AGG_DATA
WHERE ( ( NY_DATA_TYPES.TYPE_ID = NY_STATISTICS_AGG_DATA.DATA_TYPE_ID ) AND ( NY_HOSTS.HOST_ID = NY_STATISTICS_AGG_DATA.HOST_ID ) AND ( NY_ISMSC_CLASSES.CLASS_ID = NY_STATISTICS_AGG_DATA.CLASS_ID AND NY_ISMSC_CLASSES.GROUP_ID = NY_STATISTICS_AGG_DATA.GROUP_ID ) AND ( NY_OPERATIONS.CLASS_ID = NY_DATA_TYPES.CLASS_ID AND NY_OPERATIONS.OPERATION_ID = NY_DATA_TYPES.OPERATION_ID ) )
GROUP BY NY_ISMSC_CLASSES.CLASS_NAME, NY_OPERATIONS.DESCRIPTIONS, NY_DATA_TYPES.DISPLAY_STRING, NY_HOSTS.HOST_NAME, NY_STATISTICS_AGG_DATA.INSTANCE
ORDER BY NY_HOSTS.HOST_NAME, NY_ISMSC_CLASSES.CLASS_NAME, NY_STATISTICS_AGG_DATA.INSTANCE, NY_OPERATIONS.DESCRIPTIONS, NY_DATA_TYPES.DISPLAY_STRING |
j ai trouver un exemple qui propose de passer toute la requête en variable mais vu qu elle est un peu complexe je ne suis pas sur du résultat, et j ai pas pu la tester vu que je n ai pas su comment mettre en place le CONTROLLER et la vue (je suis débutant en Z F) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class App_Model_Table_Indicators extends Oft_Crud_Db_Table
{
protected function _setupDatabaseAdapter()
{
if (!$this->_db) {
$this->_db = Oft_App::getInstance()->getResource('multidb')->getDb('oracledb');
}
}
public function showIndicators(){
$select = '(query)';
$stmt = $this->_db->query($select);
$rows = $stmt->fetchAll();
return $rows;
}
} |
Merci pour votre aide*