Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je n'ai pas trouvé d'infos suffisante sur le web et sur le forum pour me permettre de pouvoir utiliser 2 bases de donnée différentes et pouvoir "switcher" entre les deux lors de mes requêtes.
J'utilise actuellement le fichier de config pour définir ma bdd mais aucune info n'ai présente dans la doc zend pour en mettre deux et surtout pouvoir l'exécuter.
Peut on m'indiquer la marche à suivre réaliser ceci.
(des infos détaillés ou des liens m'aideraient grandement vu que je débute sur zend)
Merci !
Hors ligne
Je me suis inspiré de ce tutoriel http://jaybill.com/2007/09/12/using-the … databases/cependant j'ai un problème de registre
voici l'erreur:
Message: No entry is registered for key 'config'
$databases = new Zend_Config_Ini('./application/config.ini', 'production'); $dbAdapters = array(); foreach($databases->db as $config_name => $db){ $dbAdapters[$config_name] = Zend_Db::factory($db->adapter, $db->params->toArray()); if((boolean)$db->default){ Zend_Db::setDefaultAdapter($dbAdapters[$config_name]); } } Zend_Registry::set('config', $dbAdapters);
resources.db.site.adapter = PDO_MYSQL resources.db.site.params.host = localhost resources.db.site.params.username = root resources.db.site.params.password = resources.db.site.params.dbname = BIDULE resources.db.site.library.default = true resources.db.site.order_system.adapter = PDO_MYSQL
l'appel au registre est dans cette class
<?php abstract class App_Db_Table_Abstract extends Zend_Db_Table { function App_Db_Table_Abstract($config = null){ if(isset($this->_use_adapter)){ $dbAdapters = Zend_Registry::get('dbAdapters'); $config = ($dbAdapters[$this->_use_adapter]); } return parent::__construct($config); } }
Hors ligne
tu trouvera des info sur ce topic
http://www.z-f.fr/forum/viewtopic.php?id=3024
Hors ligne
J'ai modifié le code, pour le rendre plus basique(comme dans le cas de l'autre topic que tu m'as indiqué :
même problème, message: "No entry is registered for key XXX"
Hors ligne
Dans ton premier code, du fais un Zend_Registry::set("config",$dbAdapter)
puis un $dbAdapter = Zend_Registry::get("dbAdapter"), ça devrait être un Zend_Registry::get("config") je pense...
A+, Philippe
Hors ligne
mon message d'erreur était celui ci Message: "No entry is registered for key 'config'" j'ai du copier la mauvaise version ici, mais j'ai bien modifié dbAdapter comme en témoigne le message d'erreur.
Dans le doute je vais refaire le tutoriel mais je ne pense pas que le problème soit résolu
Dernière modification par h2h2 (14-10-2009 16:29:46)
Hors ligne