Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut la team zend
Comme dit dans le titre, je souhaite savoir si il est possible de ce connecter à plusieurs bdd via une seul instance de Zend_Db::factory($apapter, $options); ?
Mon soucis est que je doit faire en sorte de récupérer des infos dans 3 bdd différentes (info webmaster, client et spécials_param) afin de les passer en registre
Merci d'avance pour vos conseils
Dernière modification par BeRoots (03-10-2008 13:59:44)
Hors ligne
Hello,
Il est possible de faire :
Zend_Registry::set('db1',Zend_Db::factory($adapter1, $options1)); Zend_Registry::set('db2',Zend_Db::factory($adapter2, $options2)); Zend_Registry::set('db3',Zend_Db::factory($adapter3, $options3));
Zend_Db est une fabrique, elle te retourne une instance d'adaptateur de base de données. Tu peux donc utiliser Zend_Db::factory autant de fois que tu veux.
A+
Hors ligne
Tu peux aussi regarder cela :
http://www.joecarbure.com/dw2/doku.php? … de_donnees
Hors ligne
oki merci, les deux methode sont clean bien que je prefert de loins celle de acharrex...
En tout cas merci à vous deux
Hors ligne
Hello
Ma réponse n'est pas une méthode. Il s'agit de la réponse à la question posée : "est-il possible ?"
A+
Hors ligne
encore merci
Hors ligne
Encore un point en suspend sur Zend_Db...
J'ai 2 db differente sous le même adapter pdo_mysql.
// setup database $myDb1 = Zend_Db::factory($config->db->adapter, $config->db->mydb1->config->toArray()); $myDb2 = Zend_Db::factory($config->db->adapter, $config->db->mydb2->config->toArray()); Zend_Db_Table::setDefaultAdapter($myDb1);
est ce que cela signifie que je peut me passer de Zend_Db_Table::setDefaultAdapter($myDb1); vue que l'on donne l'adapter à la fabrique ?
Hors ligne
Hello,
Zend_Db_Table::setDefaultAdapter($myDb1);
Permet d'informer toutes les tables dérivées de Zend_Db_Table d'utiliser $mydb1. Si tu ne le fais pas, tu devras le faire à chaque création de table.
http://framework.zend.com/manual/fr/zen … ng.adapter
A+
Hors ligne
ok merci
Hors ligne