Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Après mettre longuement attardé sur la réalisation d'un CRUD, je trouve qu'il manque un outil à zend : le datagrid !
En réalisant mon datagrid, j'aimerais pouvoir donner juste le nom de la table pour qu'il me génère un tableau aproprié.
Seulement j'aimerais pouvoir enlever les colonnes voulu de la requête.
$registry = Zend_Registry::getInstance(); $db = $registry->get('db'); $datagrid = new Rem_Datagrid(); $datagrid->setDb($db); $datagrid->setTable('client'); $datagrid->hideCol('client_password'); $this->view->datagrid = $datagrid;
"Behind the scene" je créer un objet zend select, mais je n'ais pas trouvé de façon simple pour enlever une colonne de la requête.
Avec la méthode join(), les dernier array permet de fournir les colonnes non désirés mais cet argument n'est pas disponible pour la méthode from() ???
Y aurait t'il une astuce afin d'éviter de devoir renseigner toutes les colonnes que l'on veut apparaître au lieu de dire juste celles que l'on souhaite enlever?
De plus je n'arrive plus à trouver à partir d'où on peut récupérer le nom des colonnes de la base de donnée, parce que dans le pire des cas j'utiliserai in_array couplé à unset pour conserver la structure que je voudrais donner à mon datagrid au sacrifice d'un peu plus de traitement.
J'espère avoir été claire,
Un grand merci d'avance !
Hors ligne
Apparemment je n'est pas été clair, ou alors le problème n'est pas facile à résoudre...
Hors ligne
Salut,
Tu peux tenter un truc du genre :
$colonnesTable = $this ->info(Zend_Db_Table_Abstract::COLS); foreach ($colonnesCaches AS $uneColonne) { unset($colonnesTable[array_search($uneColonne, $colonnesTable)]); } $Select = $this -> select() -> from($this -> _name, $colonnesTable);
Tu récupéres les colonnes de la table dans un array et tu supprime de cet array toutes les colonnes non désirés. Ensuite tu passe les colonnes restantes à ton objet select()
Y a p'tet mieux mais je vois pas... ça peux te donner une piste.
A adapter avec ta classe bien sur
Cordialement,
Kaimite
Hors ligne
Pages: 1